【产品名称】ob
【产品版本】
【问题描述】
count过滤1亿条数据需40s,如何去优化,最多看看是不是有些组合频率比较高,针对性地建一些索引这种如果遇到需要回表的列,可能就是分钟级的查询响应吧?
【产品名称】ob
【产品版本】
【问题描述】
count过滤1亿条数据需40s,如何去优化,最多看看是不是有些组合频率比较高,针对性地建一些索引这种如果遇到需要回表的列,可能就是分钟级的查询响应吧?
可能是硬件不一样,随机读的性能比较差,所以使用索引虽然能快速过滤,但是回表随机读很慢,反倒是全表扫描的效果好一点,所以如果针对性地建索引也应该避免回表.大量的回表随机读确实会比较慢。
是不是分区数量多一些,查询性能会更好一些?
理论上是这样的,分区打散压力分摊,尽可能的让分区的leader都分散在不同的机器上.
实际上,往往不能预估到每个分区的数据量,也没办法保证每台机器在执行语句时候的性能都相同,如果表结构能保证业务上的数据能均匀分散在不同分区,那扩展分区后的性能大概就是线性变好的,理想情况下,4扩展到40,可认为快了10倍。