现在跑时间是多少?期望时间是多少?
9亿数据在140秒 加 EXPLAIN ANALYZE 快了20秒
大批量查询会导致tikv9002
有更优的解决方案了吗?学习学习
主要是这是要干啥?
楼主的问题,本质上是一个加速count的调优问题。
Count 本身就是暴力扫表,可以使用 tidb_distsql_scan_concurrency 变量加大并发。
TiDB 每次执行查询时,都要访问 TiKV,所以加大并发度需要同时考虑 CPU 和 I/O 资源,避免调整过大占用过多集群资源,影响业务访问。
机器够的话,也可以扩容部署tiflash来处理,这个的速度提升是质的变化。
tiflash吧
不需要,scale-out一个tiflash节点,然后给对应的表增加一个tiflash replica副本就行。
TiFlash最适
什么场景呢?感觉可以把每次统计的结果记录下来,然后下次统计时直接把增量的数量和上一次结果求和,不然每次都统计一遍性能没保证
试试这招吧
tidb 及 mysql 这种有事务的,只能傻傻地去算。不像其他无事务的,直接拿count的值
主键计算
tiflash搞起
tiflash 走起
上tiflash
表没有主键
调了,现在一查就cpu爆了,内存也爆,然后tikv重启
无主键,表不规范,而且不能改
tiflash对资源要求有点高,现在集群就7台服务器而且配置不低,那么高要求的资源有点申请不下来了