索引的目的是提公升查詢資料的效率,所以我們建索引的標準應該一切從提公升查詢效率為基準。
對於有唯一值的列盡量使用唯一索引
索引長度盡量小一點,長度小的索引可以節省索引空間,也會使查詢的速度得到提公升,因為索引頁只有16k,索引列長度小的話,一頁可以容納更多的資料
太長的列可以選擇部分內容做索引,遵循最左字首原則
更新頻繁的列不適合建索引
利用斷橋原則(最左字首原則),比如建立了乙個聯合索引(a,b,c),那麼其實我們可利用的索引就有(a), (a,b), (a,b,c)
不要過多建立索引,索引越多占用的空間越多,而且每次增、刪、改操作都會重建索引,並且索引太多的話也會增加之後的優化複雜度
盡量擴充套件索引,比如現有索引(a),現在我又要對(a,b)進行索引,不需要再建乙個索引(a,b),只需要在原索引(a)的基礎上新增b列即可
一次查詢是不能應用多個索引,即使你查詢條件中有多個索引,最終也只會選擇最優的乙個
,>=,between,in 可用到索引,<>,not in ,!= 則不行
like 「***x%」 是可以用到索引的,like 「%***x」 和 like 「%***%」 則不行(但會用到索引下推)
null會使索引的效果大打折扣
索引列若出現函式或計算,則索引不會生效
MySql 建立索引原則
為了使索引的使用效率更高,在建立索引時,必須考慮在哪些欄位上建立索引和建立什麼型別的索引。本小節將向讀者介紹一些索引的設計原則。1 選擇唯一性索引 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。例如,學生表中學號是具有唯一性的字段。為該字段建立唯一性索引可以很快的確定某個學生的資訊。...
Mysql索引建立原則
在mysql中使用索引的原則有以下幾點 1 對於查詢頻率高的字段建立索引 2 對排序 分組 聯合查詢頻率高的字段建立索引 3 索引的數目不宜太多 原因 a 每建立乙個索引都會占用相應的物理控制項 b 過多的索引會導致insert update delete語句的執行效率降低 4 若在實際中,需要將多...
MySql 建立索引原則
為了使索引的使用效率更高,在建立索引時,必須考慮在哪些欄位上建立索引和建立什麼型別的索引。本小節將向讀者介紹一些索引的設計原則。1 選擇唯一性索引 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。例如,學生表中學號是具有唯一性的字段。為該字段建立唯一性索引可以很快的確定某個學生的資訊。...