标签:user 设置 次数 zhang rom 效率 增加 读取 平衡
假设在 user 表中存在zhangsp1234@gmail.com
, zhangs1pzxyz@qq.com
, zhangssxyz@xxx.com
, 三条记录。
有这样一条语句 select id,name,email from SUser where email=‘zhangssxyz@xxx.com‘;
使用 index1 索引时,流程如下:
zhangssxyz@xxx.com
的记录,获取 ID.使用 index2 索引:
zhangs
的记录,获取 ID.zhangss1234@gmail.com
的行, 发现不符合,丢弃。zhangsspzxyz@qq.com
的行, 发现不符合,丢弃。zhangssxyz@xxx.com
的行, 发现符合,纳入结果集。看这个过程,很容易发现,前缀索引会增加查询语句读取数据的次数。
但如果将前缀索引的 email(6) 改成 email(7),就会减少查询的次数,对应在主键索引上只搜索一次。这就说明,如果能合适的设置前缀索引的长度,就能在空间和效率上取得平衡。
标签:user 设置 次数 zhang rom 效率 增加 读取 平衡
原文地址:https://www.cnblogs.com/mmaskjow/p/13254043.html