mysql 索引長度對索引的影響

2021-09-03 02:52:53 字數 821 閱讀 5218

1:查詢頻繁 2:區分度高  3:長度小  4: 盡量能覆蓋常用查詢欄位.

1: 索引長度直接影響索引檔案的大小,影響增刪改的速度,並間接影響查詢速度(占用記憶體多).

針對列中的值,從左往右擷取部分,來建索引

1: 截的越短, 重複度越高,區分度越小, 索引效果越不好

2: 截的越長, 重複度越低,區分度越高, 索引效果越好,但帶來的影響也越大--增刪改變慢,併間影響查詢速度.

所以, 要在  區分度 + 長度  兩者上,取得乙個平衡.

慣用手法: 擷取不同長度,並測試其區分度,

[sql]view plain

copy

select count(distinct left(word,6))/count(*) from dict;   

+---------------------------------------+  

| count(distinct left(word,6))/count(*) |  

+---------------------------------------+  

|                                0.9992 |  

+---------------------------------------+

擷取word字段長度,從1開始擷取,計算字元字首沒有重複的字元佔全部資料的比例

對於一般的系統應用: 區別度能達到0.1,索引的效能就可以接受.

MySQL索引的索引長度問題

mysql索引的索引長度問題 specified key was too long max key length is 1000 bytes.一 修改mysql的預設儲存引擎 1 檢視mysql儲存引擎命令,在mysql 提示符下搞入show engines 字段 support為 default表...

MySQL索引的索引長度問題

mysql的每個單錶中所建立的索引長度是有限制的,且對不同儲存引擎下的表有不同的限制。在myisam表中,建立組合索引時,建立的索引長度不能超過1000,注意這裡索引的長度的計算是根據表字段設定的長度來標量的,例如 create table test id int,name1 varchar 300...

mysql 索引長度

specified key was too long max key length is 767 bytes mysql在innodb引擎下的主鍵索引或者unique索引的最大長度為767bytes,在myisam下是1000bytes。當時我在建立unique索引的時候使用了兩個varchar 2...