張葒兵 2020-10-11 21:58 采纳率: 0%
浏览 40
已结题

请大牛帮忙看下这个SQL为什么不走正确的索引

    整张表总数据量:    7981355
    9月份数据量:       925100
    9月份数据占总数量比例:11%左右
explain
SELECT
        count(1)
    FROM
        t_order_main_info 
    WHERE
        F_MER = 'LSGQSH' 
        AND F_ORDER_PAY_TIME >= '20200901000000' 
    AND F_ORDER_PAY_TIME <= '20200930235959' 

explain SQL(查询一个月的数据)

图片说明

explain SQL(查询一天的数据)

图片说明

说明一下:查询时间为一个月的时候不走IDX_F_ORDER_PAY_TIME,当我把时间改成一天时,就走IDX_F_ORDER_PAY_TIME索引了

数据库版本

华为云RDS
MySQL 5.7.27 8核16G 主备

表结构

图片说明

请大牛帮忙分析一下,为什么不走这个索引,而走了第一个索引

  • 写回答

1条回答 默认 最新

  • 7*24 工作者 2020-10-12 09:07
    关注

    你建立一个联合索引试试

    评论

报告相同问题?

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line