mysql 字首索引能有效減小索引檔案的大小,提高索引的速度。但是字首索引也有它的壞處:mysql 不能在 order by 或 group by 中使用字首索引,也不能把它們用作覆蓋索引(covering index)。
建立字首索引的例子:
1計算全列選擇性的乙個例子:# 語法
2alter
table table_name add
key(column_name(prefix_length));34
# 示例
5alter
table city add
key(cityname(7));
1* 當字首的選擇性越接近全列選擇性的時候,索引效果越好。# 全列選擇性
2select
count(distinct column_name) /
count(*) from
table_name;34
# 測試某一長度字首的選擇性
5select
count(distinct
left(column_name, prefix_length)) /
count(*) from table_name;
mysql 建字首索引 MySQL 字首索引
檢視出現頻率 select count as cnt,city from sakila.city demo group by city order by cnt desc limit 10 1.select count distinct city count from sakila.city dem...
mysql 字首索引 語法 MySQL 字首索引
索引字首 使用 字串列的索引規範中的語法,您可以建立僅使用列首字元的索引 以這種方式僅索引列值的字首可以使索引檔案小得多。為a 或 column 編制索引時 必須為索引指定字首長度。例如 col name n nblobtext create table test blob col blob,ind...
mysql 字首索引 語法 mysql字首索引
應用場景 資料庫裡有個位址 address 字段,型別為varchar 100 業務決定了要經常根據address來進行查詢。確定選擇性 sql select count distinct address count as selectivity from info selectivity 0.87...