? ? ? ?索引并不是越多越好!索引可以提升效率同樣可以降低效率。
? ? ? ?索引可以增加查詢效率,但同樣也會(huì)降低插入和更新的效率,甚至有些情況下會(huì)降低查詢效率。
? ? ? ?因?yàn)閙ysql優(yōu)化器在選擇如何優(yōu)化查詢時(shí),會(huì)根據(jù)統(tǒng)一信息,對每一個(gè)可以用到的索引來進(jìn)行評估,以生成出一個(gè)蕞好的執(zhí)行計(jì)劃,如果同時(shí)有很多個(gè)索引都可以用于查詢,則會(huì)增加mysql優(yōu)化器生成執(zhí)行計(jì)劃的時(shí)間,同樣會(huì)降低查詢性能。
? ? ? ?2、禁止給表中的每一列都建立單獨(dú)的索引
? ? ? ?5.6版本之前,一個(gè)sql只能使用到一個(gè)表中的一個(gè)索引,5.6以后,雖然有了合并索引的優(yōu)化方式,但是還是遠(yuǎn)遠(yuǎn)沒有使用一個(gè)聯(lián)合索引的查詢方式好。
? ? ? ?3、每個(gè)Innodb表必須有個(gè)主鍵
? ? ? ?Innodb是一種索引組織表:數(shù)據(jù)的存儲的邏輯順序和索引的順序是相同的。
? ? ? ?每個(gè)表都可以有多個(gè)索引,但是表的存儲順序只能有一種 Innodb是按照主鍵索引的順序來組織表的。
? ? ? ?不要使用更新頻繁的列作為主鍵,不適用多列主鍵(相當(dāng)于聯(lián)合索引) 不要使用UUID、MD5、HASH、字符串列作為主鍵(無法保證數(shù)據(jù)的順序增長)。
? ? ? ?主鍵建議使用自增ID值。
? ? ? ?以上是南昌網(wǎng)站建設(shè)開發(fā)公司百恒科技小編要跟大家聊到的一些關(guān)于MySQL數(shù)據(jù)庫索引設(shè)計(jì)規(guī)范的內(nèi)容,希望能夠?qū)Υ蠹矣兴鶐椭胍私飧嚓P(guān)于這方面的內(nèi)容,歡迎留言咨詢百恒科技,百恒科技是一家有著16年豐富經(jīng)驗(yàn)的專業(yè)網(wǎng)絡(luò)開發(fā)公司,專注于南昌網(wǎng)站建設(shè)開發(fā)、南昌小程序開發(fā)等互聯(lián)網(wǎng)服務(wù)!
相關(guān)文章推薦? ?:? ? MySQL數(shù)據(jù)庫字段設(shè)計(jì)規(guī)范是什么?? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?MySQL數(shù)據(jù)庫基本設(shè)計(jì)規(guī)范是什么?? ??