MySql建立索引的技巧

2021-09-20 12:07:01 字數 832 閱讀 7891

mysql建立索引的技巧

1、高維度的列建立索引(維度是資料列中不重複的值出現的個數,這個數量越高維度就越高);

2、盡量對on、where、group by、order by**現的列使用索引;

3、對較小的資料列使用索引,這樣會使索引檔案更小,從而使記憶體中可以裝載更多的索引鍵;

4、未較長的字串使用字首索引

有時候需要索引很長的字元列,這會讓索引變得大且慢。通常可以索引開始的部分字元,這樣可以大大節約索引空間,從而提高索引效率。但這樣也會降低索引的選擇性。索引的選擇性是指不重複的索引值(也稱為基數,cardinality)和資料表的記錄總數的比值,範圍從1/#t到1之間。索引的選擇性越高則查詢效率越高,因為選擇性高的索引可以讓mysql在查詢時過濾掉更多的行。唯一索引的選擇性是1,這是最好的索引選擇性,效能也是最好的。

一般情況下某個字首的選擇性也是足夠高的,足以滿足查詢效能。對於blob,text,或者很長的varchar型別的列,必須使用字首索引,因為mysql不允許索引這些列的完整長度。

訣竅在於要選擇足夠長的字首以保證較高的選擇性,同時又不能太長(以便節約空間)。字首應該足夠長,以使得字首索引的選擇性接近於索引的整個列。換句話說,字首的」基數「應該接近於完整的列的」基數「。

為了決定字首的合適長度,需要找到最常見的值的列表,然後和最常見的字首列表進行比較

5、不要過多建立索引,除了要增加額外的磁碟開銷,對於dml操作的速度影響也很大,因為每次增刪改都要更新索引;

6、使用組合索引,可以減少檔案索引大小,在執行時速度要優於單列索引。

mysql建立索引技巧

1,建立mysql索引 對於查詢佔主要的應用來說,索引顯得尤為重要。很多時候效能問題很簡單的就是因為我們忘了新增索引而造成的,或者說沒有新增更為有效的索引導致。如果不加 索引的話,那麼查詢任何哪怕只是一條特定的資料都會進行一次全表掃瞄,如果一張表的資料量很大而符合條件的結果又很少,那麼不加索引會引起...

(索引)建立MySQL索引

建立索引的必要性 主鍵預設是建立索引的,而且具有唯一性 合適地建立索引後比不建立索引,提高了查詢速度 建立索引的語法 簡單索引 可以有重複資料 create index indexname on tablename column name 1舉例子說明如 建立乙個資料表,設定一些初始的資料,然後採用...

c mysql建立索引 MySQL 建立索引

1 索引建立原則 1 搜尋的索引列,不一定是所要選擇的列。換句話說,最適合索引的列是出現在where子句中的列,或連線子句中指定的列,而不是出現在select關鍵字後的選擇列表中的列。2 使用唯一索引。考慮某列中值的分布。索引的列的基數越大,索引的效果越好。3 使用短索引。如果對字串列進行索引,應該...