请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

1回答

sqlercn 2024-08-14 16:11:24

二级索引需要二次回表查询,所以会比直接使用主键索引更慢一些,但是比全表扫描要快。

0 回复 有任何疑惑可以回复我~
  • 提问者 GoFromZero #1
    哦  我可能没有描述清楚我的问题,我指的是select * from product where prodctname="电脑" and price > 1000 and price < 6000
    
    为啥没有用idx_productname_price联合索引 而使用了idx_productname单列索引 。
    
    感觉按您举的例子mysql 走 idx_productname_price不是会更快吗
    回复 有任何疑惑可以回复我~ 2024-08-14 16:21:05
  • sqlercn 回复 提问者 GoFromZero #2
    这个和数据量有点关系,MySQL会跟据统计信息来判断使用那个索引,如果数据中大部分都是满足price>1000的数据,那么MySQL就会选择使用productname列上的独立索引了
    回复 有任何疑惑可以回复我~ 2024-08-19 16:23:10
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信