tidb慢查询问题

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】6.5
【复现路径】
【遇到的问题:问题现象及影响】tidb单表1亿5千万的数据查询速度要20秒左右,mysql仅需不到10秒
【资源配置】
tidb资源配置:


mysql配置:16核 32g内存

【附件:截图/日志/监控】
1、执行计划

执行计划execution info详情:
第一行:time:19.4s, loops:2

第二行:time:19.4s, loops:23638, cop_task: {num: 770, max: 1.97s, min: 441.3µs, avg: 292.5ms, p95: 937.8ms, max_proc_keys: 50144, p95_proc_keys: 50144, tot_proc: 31.4s, tot_wait: 176ms, rpc_num: 772, rpc_time: 3m45.2s, copr_cache_hit_ratio: 0.04, distsql_concurrency: 15}, backoff{regionMiss: 2ms}

第三行:tikv_task:{proc max:178ms, min:0s, avg: 31.7ms, p80:49ms, p95:85ms, iters:26649, tasks:770}, scan_detail: {total_process_keys: 24095603, total_process_keys_size: 4728933683, total_keys: 24096342, get_snapshot_time: 126.9ms, rocksdb: {key_skipped_count: 24095603, block: {cache_hit_count: 70926, read_count: 5042, read_byte: 19.9 MB, read_time: 42.4ms}}}

第四行:tikv_task:{proc max:178ms, min:0s, avg: 31.7ms, p80:49ms, p95:85ms, iters:26649, tasks:770}

2、建表语句

没有上tiflash吧!把数据加载到tiflash秒出

这种普通查询,不是聚合统计,tiflash有作用吗?

1、加TiFlash
2、不能加的话,plan_time来个索引,然后改写limit,改成把这个id查出来,再大于这个id

请教下,tiflash不是针对分析统计场景吗,这种普通的查询也有效果吗?

看下监控 tikv detail → thread cpu 。

那3台单独kv的配置优点低吧,16G内存,官方标准配置是64G+

可以把混布的3台改成独立kv,现在的3台kv改成tidb。感觉这样会好一点

image这个查询出来的数据量多大

但是mysql单机配置也不高,或许是tidb对服务器要求比较高吧

两千四百多万

:rofl:不能用相同的配置来做分布式数据库和单体数据库的性能对比呀

cpu使用很低

image
试下四列 的覆盖 索引。

您在发下 mysql 的执行计划 和表结构


mysql的表结构和tidb一样的

哈哈,昨天哪个帖子

是的 :joy:

mysql de extra 列 是 useing where . 没有使用ICP特性, 您添加下 4列覆盖索引, 看看能不能使用ICP 特性。
同时 tidb 和 mysql 都添加下。 对比下

都贴出来看下

planime 就是主键索引,不需要回表扫。