开发者社区 问答 正文

mysql加索引后变慢的问题

表数据量246w条记录;
表结构
21
数据形式大概为:
张学友 z zxy
想通过姓名的首字母执行查询,语句为:
select * from emp_contact where py_idx='z' and name_py like 'z%';
我在py_idx上建立了索引,执行分析为:
22
语句的执行时间(use show profiles)
执行了10次,平均时间大概为2.64秒
随后我去掉py_idx上的索引,
23
执行时间:
执行了10次,平均时间大概为2.0秒
到此我就不明白了,为啥加上索引后,检索的记录少了,为啥执行时间反而多了?
请高手指教一下,问题在哪里?

展开
收起
落地花开啦 2016-02-08 16:28:36 6159 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    字段区分度不够.
    索引其实是单独的问题,引擎先去找索引,然后根据索引上的指针去找数据.
    如果索引效率本身不高,那就是额外的消耗了

    2019-07-17 18:39:47
    赞同 1 展开评论