生产集群是1-1-1 3个节点,打算扩容为2-2-2,版本OB4.2.1,目前生产大部分表的分区数是7,
生产SQL压测2-2-2集群,目前压测下来扩容后性能并没有明显提升,
SQL查询方式,比如两个表A,B,使用JOIN键分区,分区键相同,分区方式相同key,分区数量相同,JOIN条件包含分区键,where条件没有传分区键,帮忙分析扩容后性能没有明显提升的原因,谢谢!
7 个赞
建表组,让相同分区的lead在一个节点,减少分布式事务
2 个赞
有必要在每个查询的where条件中带分区键不
能带分区键肯定最好。但一般都做不到
1 个赞
与参数、策略等还是有很大关系的,比如上边说的表组
增加表的分区试试,看看有没有优化
如果没有分区键就需要考虑where后面的条件创建全局索引
表组,索引
表组有的
表组,索引都有,两个6kw+行表join,99%耗时100ms左右。
嗯,等下试试。
建表组,把两个表分到同一个表组里边,减少跨分布式事务。
学到了
经常在一块联查的分区放在同一个observer上,例如创建表组