什么是并行度:
并行度的优点就是能够最大限度的利用机器的多个cpu资源,是多个cpu同时工作,从而达到提高数据库工作效率的目的。在系统空闲时间,使用并行是个不错的选择,但是好东西总是相对而言,没有绝对的好坏,不当的使用,同样会引起数据库的新的问题产生。
1、查看并行度
select table_name,degree from user_tables; --并行度按照用户表分别设置
2、修改并行度
alter table table_name parallel(degree 4); ---4是修改该表并行度 alter table table_name 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、并行执行不适合场景:
- 非常短的查询或事务