大佬们好:
我是tidb 小白一个,刚刚接手tidb,遇到下面的问题,希望给点思路一起解决下,非常感谢🙏!
背景:
业务反馈下面这条sql 有点慢不可接受,准备换回mysql,说在mysql 中类似的比这个表大的执行起来还挺快,我想这咋行,因为一条sql 不用tidb,no no no,这条sql 慢的时候执行大约2s,有时候运行几次还是挺快的几十ms
1.表结构如下,没主键,据说自增id 对tidb 不太友好

2.sql执行计划如下
explain analyze SELECT * FROM apk_snap_history
ORDER BY add_time desc LIMIT 10 OFFSET 0;
3.表索引情况
我看主要时间消耗在index loop 中的ResolveLock,然后看 Concurrency:OFF 不知道并行没用上有没有影响,还请大佬们帮分析下~
1 个赞
xfworld
(魔幻之翼)
2
你用的什么版本?
如果是4.X 或者 5.X 可以用自增主键的,有主键和没主键差很多的
https://docs.pingcap.com/zh/tidb/v4.0/tidb-best-practices#二级索引
这是索引部分的表达,可以参考下
然后我建议你主要看这个:
十四、分页的最佳实践
https://asktug.com/t/topic/93819
如果在字段或者设计层面有缺的,或者不完善的地方,最好补齐
你说的Mysql 和tidb 比较的情况狠常见,如果Mysql 的单表数据大于 1000W 的时候,业务增长越来越大的情况下,查询会越来越慢,但是tidb 是一个稳定的
1 个赞
tidb 版本是5.7.25-TiDB-v4.0.8
system
(system)
关闭
5
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。