小編給大家分享一下MySQL中NULL對索引的影響有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)公司是一家集成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站頁面設(shè)計(jì)、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站制作公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗(yàn),以探求精品塑造與理念升華,設(shè)計(jì)最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅(jiān)持講誠信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。
在mysql5.6和5.7下均可,存儲(chǔ)引擎為InnoDB。
數(shù)據(jù)如下:
1. 單列索引
給name列建單列索引:
查詢name為null的行:
查詢name為'test0'或?yàn)閚ull的行:
可以發(fā)現(xiàn)都可以用到索引。
2. 聯(lián)合索引
給age和name添加聯(lián)合索引:
查詢age為14并且name為null的行:
可以發(fā)現(xiàn)同樣用到了索引。
3. 其他
雖然MySQL可以在含有null的列上使用索引,但不代表null和其他數(shù)據(jù)在索引中是一樣的。
不建議列上允許為空。最好限制not null,并設(shè)置一個(gè)默認(rèn)值,比如0和''空字符串等,如果是datetime類型,可以設(shè)置成'1970-01-01 00:00:00'這樣的特殊值。
對MySQL來說,null是一個(gè)特殊的值,Conceptually, NULL means “a missing unknown value” and it is treated somewhat differently from other values。比如:不能使用=,<,>這樣的運(yùn)算符,對null做算術(shù)運(yùn)算的結(jié)果都是null,count時(shí)不會(huì)包括null行等,null比空字符串需要更多的存儲(chǔ)空間等。
看完了這篇文章,相信你對“MySQL中NULL對索引的影響有哪些”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
標(biāo)題名稱:MySQL中NULL對索引的影響有哪些
分享地址:http://aaarwkj.com/article28/pcsdjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、外貿(mào)建站、響應(yīng)式網(wǎng)站、域名注冊、標(biāo)簽優(yōu)化、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)