表数据量246w条记录;
表结构
数据形式大概为:
张学友 z zxy
想通过姓名的首字母执行查询,语句为:select * from emp_contact where py_idx='z' and name_py like 'z%';
我在py_idx上建立了索引,执行分析为:
语句的执行时间(use show profiles)
执行了10次,平均时间大概为2.64秒
随后我去掉py_idx上的索引,
执行时间:
执行了10次,平均时间大概为2.0秒
到此我就不明白了,为啥加上索引后,检索的记录少了,为啥执行时间反而多了?
请高手指教一下,问题在哪里?
字段区分度不够.
索引其实是单独的问题,引擎先去找索引,然后根据索引上的指针去找数据.
如果索引效率本身不高,那就是额外的消耗了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。