,看看其选择性:
Sql代码
SELECT count(DISTINCT(left(address,5)))/count(*) AS Selectivity FROM info;
+-------------+
| Selectivity |
+-------------+
| 0.5981 |
+-------------+
选择性还不错,但和0.8745相比还是太低,所以我们可以将前缀长度增加到10,再看看
选择性:
Sql代码
SELECT count(DISTINCT(left(address,10)))/count(*) AS Selectivity FROM info;
+-------------+
| Selectivity |
+-------------+
| 0.8239 |
+-------------+
和0.8745已经很接近了,但是索引长度只有10,所以就可以决定建立前缀索引了。
前缀索引兼顾索引大小和查询速度,但是其缺点是不能用于ORDER BY和GROUP BY
操作,也不能用于Covering index(即当索引本身包含查询所需全部数据时,不再访问
数据文件本身)。
bitsCN.com
本文原创发布php中文网,转载请注明出处,感谢您的尊重!