- 什么是并行度:
并行度的优点就是能够最大限度的利用机器的多个cpu资源,是多个cpu同时工作,从而达到提高数据库工作效率的目的。在系统空闲时间,使用并行是个不错的选择,但是好东西总是相对而言,没有绝对的好坏,不当的使用,同样会引起数据库的新的问题产生
1、查看并行度
select degree from user_tables where table_name='T1';
2、修改并行度
alter table T1 parallel(degree 4); --4 是修改表的并行度
alter table T1 parallel; --修改并行度为默认值;
3、在语句中指定并行度
SELECT /*+ PARALLEL(4) */ FROM T --指定并行度为4;
SELECT /*+ no_parallel */ from T -- 非并行度
SELECT /*+ parallel(auto) */ FROM T -- 自动并行度
4、并行查询的使用范围
- 大表查询,join,分区索引的查询。
- 创建大量的index。
- 创建大量的表(包括固化视图)。
- 批量的insert,update,delete。
- 对称多处理器,集群,并行系统,
- cpu利用不足,
- 足够的内存用于其他操作,排序,hash,缓存,
- 查行执行适合与dss与数据仓库,也适合于批量操作的OLTP系统,不适合OLTP简介的dml或select操作
5、并行执行不适合场景:
- 非常短的查询或事务
6、创建表
SQL> create table T1 as select * from dba_objects;
7、查询并行度
select degree from user_tables where table_name='T1';
8、修改并行度为4
SQL> alter table t1 parallel(degree 4);