前提
首先,mysql是支持前缀索引的,我们可以定义字符串的一部分作为索引。
必要性
如果你创建索引不指定前缀长度,则索引包含整个字符串,占用空间比较大,
如果我们使用好前缀索引,可以即节省空间又不会增加太多查询成本(使用前缀索引,可能会增加扫描次数)
实施方法
找出合适的前缀索引长度是关键
查询方法
select count(primaryKey) as total from tableName;
select count(distinct left(columnName, x)) as totalx from tableName;
找出x值 使得total和totalx接近,并且x值较小(具体接近程度,可以自行决定,比如说90%或者95%)
注意:前缀索引用不了覆盖索引对查询性能的优化