优点:节省存储空间。
缺点:会增加扫描行数,并且不能使用覆盖索引,因为前缀索引存储的数据不够完整,需要回表查询。
如果字段前面重复率高,后面重复率低,怎么设计索引?
一、第一种方式是使用倒序存储
使用reverse()函数,将数据倒叙存储
二、使用hash算法
再创建一个字段,用来存储hash计算后的数据值,前缀索引可以加到该字段中。
怎么判断前缀索引的的最短长度多少合理?
mysql> select count(distinct email) as L from SUser;
该语句可以查出该字段的区分度,越大越好