为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【概述】 想读取tidb数据,做一些业务逻辑,test环境因为条数不够无法测出性能问题,但sql恐怕会在生产环境有性能问题,想请教专业人士指导
【背景】 假设表总条数有1亿条以上,其中有一个timestamp的字段,timestamp不是索引,通过timestamp读取200天以内的数据,如果200天内的总条数较多,比如共200万条,会在代码层分批读取,假设每批5000条。
sample: select * from {table_name} where timestamp > 1624181296458760881 and timestamp < 1624267696458760785 group by timestamp, user_id, user_time order by timestamp DESC limit 5000
【现象】 担心读取慢
【问题】 test环境因为数据较少没有问题,但是担心生产环境有读取慢的问题,请教影响会很大么?group by 对tidb读取性能影响如何?以及如果timestamp加上索引会有效果么?目前已经有其他字段索引
【业务影响】读取慢,导致tidb负载高,影响线上业务
【TiDB 版本】 TiDB-v4.0.9
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。