为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
V5.0.3
【概述】 场景 + 问题概述
EXPLAIN SELECT * FROM synrpt_tt_creative rtc WHERE rtc.date
>= DATE_ADD(NOW(), INTERVAL -2 DAY)
遍历了所有分区 ,而不是我where条件希望走的当前月份分区 。 遍历所有分区 导致性能低下 。
如果优化器 能 先解析一下 DATE_ADD(NOW(), INTERVAL 2 DAY); 的具体值 只走相关的分区 性能就会好很多
【背景】 做过哪些操作
【现象】 业务和数据库现象
mysql分区表也一样 :
这种对时间做函数的分区 或索引 好像不能指定具体分区 ,只有具体值才能用到分区
(user:mysqldba time: 15:50)[db: test]EXPLAIN SELECT * FROM synrpt_tt_creative rtc WHERE rtc.date
>= ‘2021-08-10’ and date <‘2021-08-12’;
±—±------------±------±-----------±-----±--------------±-----±--------±-----±-----±---------±------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
±—±------------±------±-----------±-----±--------------±-----±--------±-----±-----±---------±------------+
| 1 | SIMPLE | rtc | p202108 | ALL | NULL | NULL | NULL | NULL | 1 | 100.00 | Using where |
±—±------------±------±-----------±-----±--------------±-----±--------±-----±-----±---------±------------+
1 row in set, 1 warning (0.00 sec)
(user:mysqldba time: 16:00)[db: test]EXPLAIN SELECT * FROM synrpt_tt_creative rtc WHERE rtc.date
>= DATE_ADD(NOW(), INTERVAL -2 DAY) and rtc.date
<DATE_ADD(NOW(), INTERVAL 2 DAY);
±—±------------±------±--------------------------------±-----±--------------±-----±--------±-----±-----±---------±------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
±—±------------±------±--------------------------------±-----±--------------±-----±--------±-----±-----±---------±------------+
| 1 | SIMPLE | rtc | p202107,p202108,p202109,p202110 | ALL | NULL | NULL | NULL | NULL | 1 | 100.00 | Using where |
±—±------------±------±--------------------------------±-----±--------------±-----±--------±-----±-----±---------±------------+
1 row in set, 1 warning (0.00 sec)
【问题】 当前遇到的问题
【业务影响】
遍历所有分区 导致性能低下 。
【TiDB 版本】
5.0.3
【应用软件及版本】
【附件】 相关日志及配置信息
- TiUP Cluster Display 信息
- TiUP CLuster Edit config 信息
监控(https://metricstool.pingcap.com/)
- TiDB-Overview Grafana监控
- TiDB Grafana 监控
- TiKV Grafana 监控
- PD Grafana 监控
- 对应模块日志(包含问题前后 1 小时日志)
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。