- 语法:
/*+parallel(table_short_name,cash_number)*/
示例:
SELECT /*+parallel(t,10)*/ COLUMN FROM TABLE_NAME t
其中t是别名,10是并行线程数,这个也可以用在insert,update语句里。
- 用途:提高语句执行速度
- 线程数的选择.
看别人的线程数,一般选择是4,8,10,12,16,线程数也不是越多越好,有的文档说线程数一般最大是服务器cpu核心数减1。我自己测试了下自己写的一个复杂查询,数据量大概是千万级的。
不加线程查询:74秒
加上10线程但不用别名: parallel(10) 14秒
parallel(t,10) 6秒
parallel(t,10) 7.067秒
parallel(t,32) 8.517
parallel(t,13) 8.44
parallel(t,14) 5.367
parallel(t,16) 5.585
parallel(t,16) 6.755
parallel(t,18) 8.439
parallel(t,18) 5.492
parallel(t,18) 10.343
parallel(t,20) 4.587
parallel(t,20) 4.649
parallel(t,20) 6.771
parallel(t,20) 8.627
parallel(t,20) 4.570
parallel(t,24) 4.664
parallel(t,24) 5.007
前面是执行的命令,后面是所耗费的时间(单位为秒)。以上可以大概看出,就我所用的服务器来说,加20线程是速度最快的。
参考:https://www.cnblogs.com/xingmeng/p/3303761.html