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_demo;

*完整列的选择性

2. select count(distinct left(city,3))/count(*) as sel3 ,
count(distinct left(city,4))/count(*) as sel4 ,
count(distinct left(city,5))/count(*) as sel5 ,
count(distinct left(city,6))/count(*) as sel6 ,
count(distinct left(city,7))/count(*) as sel7

from sakila.city_demo;

*前缀输出越贴近 1 输出,性能越高

3. alter table sakilal.city_demo add key (city(7));

使用场景:

16进制唯一ID使用前缀索引。 通常使用前8位,性能显著提高

原文地址:https://www.cnblogs.com/MarchThree/p/4622197.html