mysql加了索引还是慢_mysql添加索引,查询反而变慢

当在MySQL中为id1字段添加索引后,对于id1=11111的查询,虽然优化器选择了二级索引,但由于数据基数小选择性差,导致回表操作较多,使查询变慢。通过创建覆盖索引(com_idx(id1,id2)),可以避免回表,从而提高查询效率。" 83240524,7598138,Swing JSlider美化:重写UI与应用LookAndFeel,"['Java GUI', 'Swing框架', '用户界面设计', '组件定制', '图形用户界面']
摘要由CSDN通过智能技术生成

依照楼主的数据,我也造了400万数据:

mysql> select * from index_test limit 5;

id1

id2

11111

11111

22222

22222

11111

11111

22222

22222

11111

11111

id1创建索引

执行确实是id2谓词条件比较快:

mysql> select * from index_test where id1=11111;

2097152 rows in set (3.00 sec)

mysql> select * from index_test where id2=11111;

2097152 rows in set (2.32 sec)

id1的profile是这样的:

+----------------------+----------+

| Status | Duration |

+----------------------+----------+

| starting | 0.000080 |

| checking permissions | 0.000014 |

| Opening tables | 0.000024 |

| init | 0.000033 |

| System lock | 0.000015 |

| optimizing | 0.000018 |

| statistics | 0.035408 |

| p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值