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