当前位置:首页>开发>正文

oracle设置表的并行度是什么意思

2024-06-27 10:32:18 互联网 未知 开发

oracle设置表的并行度是什么意思?

oracle设置表的并行度是什么意思

查看dba_tables数据字典时,可以发现有“DEGREE”字段,这个字段表示的就是数据表的并行度。这个参数的设置,关系着数据库的I/O,以及sql的执行效率。并行度的优点就是能够最大限度的利用机器的多个cpu资源,是多个cpu同时工作,从而达到提高数据库工作效率的目的。在系统空闲时间,使用并行是个不错的选择,但是好东西总是相对而言,没有绝对的好坏,不当的使用,同样会引起数据库的新的问题产生。

1、此参数的大小设置orcl@SCOTT>selecttable_name,degreefromuser_tablesTABLE_NAMEDEGREE--------------------------------------------------T11TAB_REGISTER1EMP1EMP_BAK1SALGRADE1BONUS1DEPT1LETTER_USER1T21BASE_LOG1T1通过上例的例子大家可以观察,此参数的默认值为1,这个数值,我们认为的增加,当设置表的并行度非常高的时候,sql优化器将可能对表进行全表扫描,引起DirectPathRead等待。在使用并行查询前需要慎重考虑,因为并行查询尽管能提高程序的响应时间,但是会消耗比较多的资源。对于低配置的数据库服务器需要慎重。此外,需要确认并行度的设置要与IO系统的配置相符(建议并行度为2~4*CPU数)。

2、并行度的修改altertabletparallel(degree1)------直接指定表的并行度altertabletparallel----------设置表的并行度为default3、如何在sql语句中使用表的并行度,并选择合适的并行等级示例:使用并行查询的执行计划并行度为4orcl@SCOTT>SELECT/*+PARALLEL(4)*/2MAX(sal),3AVG(comm)4FROMemp,dept5WHEREemp.deptno=dept.deptno6GROUPBY1