大量sql使用parallel,批量并发时会不会有问题

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【问题现象及影响】

【附件】
3.2的版本
我们每个sql几乎都有 parallel,就怕上了生产之后一块搞崩了,这个有啥办法吗

有一个server 最高的并行度设置, 你只要这个设置正确了, 就不用担心机器扛不住并发度

parallel_servers_target = max_cpu * server_num * 8

set global parallel_servers_target = 624;

肯定有问题,并行SQL会竞争并行线程,当执行速度跟不上时,导致这些SQL很慢,甚至超时。非必要不加并行,尽量从索引、SQL 优化,实在不行再加并行

老师 这个的意思是不管多少个sql 只要是并发小于这个值都没事是吧 使用方式是直接加 hint的 /+parallel(64)/ 这种

parallel_servers_target 用于设置每个 Server 上的大查询排队条件。当并行执行(Parallel eXecution,PX)消耗的线程数超过大查询排队条件后,后继并行执行需要排队等待。
当并发大于该值,后续并发会排队

2 个赞