sql语句效率问题:
--------------------------------------sql1----------------------------------------------
SELECT
*
FROM
table_name a
WHERE
a.col_a= ‘*****’
AND a.col_b>= 20210725
AND a.col_b<= 20211001
AND a.col_c> ‘0’
耗时:50ms
--------------------------------------sql2-----------------------------------------------
SELECT
*
FROM
table_name a
WHERE
a.col_a= ‘*****’
AND a.col_b>= 20210725
AND a.col_b<= 20210801
AND a.col_c> ‘0’
耗时:18s
问题:请问为啥时间范围不同查询效率差别这么大呢,而且是时间跨度小的更慢
其他信息:
索引:
table_name表有一个唯一索引为 (col_a,col_b,col_c)
分区情况:
划分的key :
partition by range(“col_b”) subpartition by hash(“col_a”) subpartition template
ddl:
…省略
partition P202106 values less than (20210701),
partition P202107 values less than (20210801),
partition P202108 values less than (20210901),
partition P202109 values less than (20211001),
…省略