qq_43248056
qq_43248056
采纳率100%
2020-01-16 15:22

mysql不走时间字段的索引

已采纳

where条件中有三个字段的条件,每个字段都有mysql普通索引,但是expalin结果显示时间字段索引没有生效,调换条件顺序依旧无效,麻烦大神们解答一下。
图片说明

EXPLAIN SELECT * FROM sys_data_5min_zl
WHERE data_user = '2ec29aff-75f3-4a1a-972f-f27fd6099515'
 AND sb_date BETWEEN '2020-01-03' AND '2020-01-04'
 AND data_sb ='4eefa3ca-215b-43f6-aaa2-ae16abe764e2'

图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • guangcaiwudong Kevin.Y.K 1年前

    把data_user、data_sb、sb_date组成联合索引试试

    点赞 2 评论 复制链接分享
  • qq_23292875 Hefei19881002 1年前
    你这个索引有问题  建议创建组合索引(遵守最左前缀原则) 并调整sql为
    SELECT * FROM sys_data_5min_zl WHERE data_user = '' AND data_sb ='' AND sb_date BETWEEN '' AND ''
    组合索引顺序为 data_user data_sb sb_date
    如果对你有帮助请采纳,3q
    
    点赞 评论 复制链接分享
  • weixin_42870117 米斯特谭i 1年前

    BETWEEN and 使不使用索引跟取出数据的条数有关系

    点赞 评论 复制链接分享

为你推荐