Oracle表的并行度

查看dba_tables數據字典時,可以發現有“DEGREE”字段,這個字段表示的就是數據表的并行度。這個參數的設置,關系著數據庫的I/O,以及sql的執行效率。
并行度的優點就是能夠最大限度的利用機器的多個cpu資源,是多個cpu同時工作,從而達到提高數據庫工作效率的目的。在系統空閑時間,使用并行是個不錯的選擇,但是好東西總是相對而言,沒有絕對的好壞,不當的使用,同樣會引起數據庫的新的問題產生。
1、 ?此參數的大小設置
orcl@ SCOTT> select table_name,degree from user_tables;
TABLE_NAME ? ? ? ? ? ? ? ? ? ? DEGREE
------------------------------ ? ? ? ? --------------------
T1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1
TAB_REGISTER ? ? ? ? ? ? ? ? ? ? ? ? ? ?1
EMP ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
EMP_BAK ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
SALGRADE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1
BONUS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
DEPT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1
LETTER_USER ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
T2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1
BASE_LOG ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1
T ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1
通過上例的例子大家可以觀察,此參數的默認值為1,這個數值,我們認為的增加,當設置表的并行度非常高的時候,sql優化器將可能對表進行全表掃描,引起 Direct Path Read 等待 。
在使用并行查詢前需要慎重考慮, 因為并行查詢盡管能提高程序的響應時間, 但是會
消耗比較多的資源。 對于低配置的數據庫服務器需要慎重。 此外, 需要確認并行度的設置要與 IO 系統的配置相符(建議并行度為 2~4 * CPU 數) 。?
2、 ?并行度的修改
alter table t parallel(degree 1);------直接指定表的并行度
alter table t parallel; ? ?----------設置表的并行度為default
3、 ?如何在sql語句中使用表的并行度,并選擇合適的并行等級
示例:使用并行查詢的執行計劃
并行度為4
orcl@ SCOTT> SELECT /*+ PARALLEL(4) */
2 ? MAX(sal),
3 ? AVG(comm)
4 ? ?FROM emp,dept
5 ? WHERE emp.deptno=dept.deptno
6 ? GROUP BY 1
7 ?;
已用時間: ?00: 00: 00.09
執行計劃
----------------------------------------------------------
Plan hash value: 1358624651
---------------------------------------------------------------------------------------------------------------
| Id ?| Operation ? ? ? ? ? ? | Name ? ? | Rows ?| Bytes | Cost (%CPU)| Time ? ? | ? ?TQ ?|IN-OUT| PQ Distrib |
---------------------------------------------------------------------------------------------------------------
| ? 0 | SELECT STATEMENT ? ? ?| ? ? ? ? ?| ? ?14 | ? 126 | ? ? 2 ? (0)| 00:00:01 | ? ? ? ?| ? ? ?| ? ? ? ? |
| ? 1 | ?HASH GROUP BY ? ? ? ?| ? ? ? ? ?| ? ?14 | ? 126 | ? ? 2 ? (0)| 00:00:01 | ? ? ? ?| ? ? ?| ? ? ? ? |
| ? 2 | ? PX COORDINATOR ? ? ?| ? ? ? ? ?| ? ? ? | ? ? ? | ? ? ? ? ? ?| ? ? ? ? ?| ? ? ? ?| ? ? ?| ? ? ? ? |
| ? 3 | ? ?PX SEND QC (RANDOM)| :TQ10000 | ? ?14 | ? 126 | ? ? 2 ? (0)| 00:00:01 | ?Q1,00 | P->S | QC (RAND) ?|
| ? 4 | ? ? PX BLOCK ITERATOR | ? ? ? ? ?| ? ?14 | ? 126 | ? ? 2 ? (0)| 00:00:01 | ?Q1,00 | PCWC | ? ? ? ? |
|* ?5 | ? ? ?TABLE ACCESS FULL| EMP ? ? ?| ? ?14 | ? 126 | ? ? 2 ? (0)| 00:00:01 | ?Q1,00 | PCWP | ? ? ? ? |
---------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
5 - filter("EMP"."DEPTNO" IS NOT NULL)
Note
-----
- automatic DOP: computed degree of parallelism is 4
統計信息
----------------------------------------------------------
20 ?recursive calls
0 ?db block gets
5 ?consistent gets
0 ?physical reads
0 ?redo size
482 ?bytes sent via SQL*Net to client
416 ?bytes received via SQL*Net from client
2 ?SQL*Net roundtrips to/from client
1 ?sorts (memory)
0 ?sorts (disk)
1 ?rows processed
非并行度
SELECT /*+ no_parallel */ ename, dname FROM emp e, dept d
WHERE e.deptno=d.deptno;
自動并行度
SELECT /*+ parallel(auto) */ ename, dname FROM emp e, dept d
WHERE e.deptno=d.deptno;
4、 ?并行查詢的使用范圍
適用于:
大表查詢,join,分區索引的查詢,
創建大量的index,
創建大量的表(包括固化視圖),
批量的insert,update,delete;
查行執行適合場景:
對稱多處理器,集群,并行系統,
cpu利用不足,
足夠的內存用于其他操作,排序,hash,緩存,
查行執行適合與dss與數據倉庫,也適合于批量操作的OLTP系統,不適合OLTP簡介的dml或select操作;
并行執行不適合場景:
非常短的查詢或事務
基本硬件要求:
并行執行設計需要多個cpu與io來實現快速的查詢,每個硬件都應該維持在同一個吞吐量
哪些操作可以用并行
全表查詢,分區查詢,索引快速查詢
join操作
nested loop, sort merge, hash, and star transformation
DDL語句
CREATE TABLE AS SELECT, ?CREATEINDEX, REBUILDINDEX,
REBUILD INDEX PARTITION,?
And MOVE/SPLIT/COALESCEPARTITION
DML語句
INSERT AS SELECT,UPDATE,DELETE,
And MERGE operations
5、 ?在并行操作中默認情況并行查詢和并行DDL操作可以無障礙使用并行,但是如果想使用并行DML,需要先修改dml并行配置
alter session enable parallel dml;

11g new feature:
For a statement-level PARALLEL hint:
■ PARALLEL: The statement always is run parallel, and the database computes the?
degree of parallelism, which can be 2 or greater.
■ PARALLEL (DEFAULT): The same as PARALLEL. The DEFAULT keyword is?
included for completeness.
■ PARALLEL (AUTO): The database computes the degree of parallelism, which can be?
1 or greater. If the computed degree of parallelism is 1, then the statement runs?
serially.
■ PARALLEL (MANUAL): The optimizer is forced to use the parallel settings of the?
objects in the statement.
■ PARALLEL (integer): The optimizer uses the degree of parallelism specified by?
integer.


In the following example, the optimizer calculates the degree of parallelism. The?
statement always runs in parallel.
SELECT /*+ PARALLEL */ last_name
? FROM employees;
In the following example, the optimizer calculates the degree of parallelism, but that?
degree may be 1, in which case the statement will run serially.
SELECT /*+ PARALLEL (AUTO) */ last_name
? FROM employees;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539714.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539714.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539714.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql 臨時表 限制_Mysql臨時表

當你創建臨時表的時候,你可以使用temporary關鍵字。如:create temporary table tmp_table(name varchar(10) not null,passwd char(6) not null)‘或CREATE TEMPORARY TABLE IF NOT EXISTS sp_output_tmp ENGINE MEMORY SELECT …from … where IDcurre…

10年老兵給程序員的10條建議!

2019獨角獸企業重金招聘Python工程師標準>>> 程序員雖然薪資待遇好,但是也得付出努力,技術好才行。特別是對于剛剛進入編程工作的新手程序員和正在學習編程的同學來說,一寫代碼就報錯,出bug。作為一個工作了10年的老兵…

視圖和表的區別和聯系

區別: 1、視圖是已經編譯好的sql語句。而表不是 2、視圖沒有實際的物理記錄。而表有。 3、表是內容,視圖是窗口 4、表只用物理空間而視圖不占用物理空間,視圖只是邏輯概念的存在,表可以及時四對它進行修改&#xf…

mysql binlog日志三種格式_MySQL binlog三種格式詳細介紹

查看當前數據庫binlog日志格式:show global variables like %binlog_format%;一、三種格式介紹1.1 STATEMENT該格式下每一條會修改數據的sql都會記錄在binlog中;優點:不需要記錄每一行的變化,減少了binlog日志量,節約了…

2017阿里技術年度精選(全)

2019獨角獸企業重金招聘Python工程師標準>>> 2017年,在技術發展的歷史上,一定是個特別的一年:柯潔與AlphaGo的驚世大戰,無人咖啡店開放體驗,AI設計師“魯班”橫空出世、三年投入千億的達摩院正式成立…… 這…

查詢Oracle正在執行的sql語句,鎖表,解鎖

原文出處:http://blog.csdn.net/jlds123/article/details/6572559 ----------------------- --查詢Oracle正在執行的sql語句及執行該語句的用戶 [sql] view plaincopy SELECT b.sid oracleID, b.username 登錄Oracle用戶名, b.serial#, …

xampp for mac mysql_xampp for mac下載-Xampp Mac版下載 V7.3.2-PC6蘋果網

Xampp for mac是目前時下最流行的PHP開發環境,XAMPP是完全免費且易于安裝的Apache發行版,其中包含MySQL、PHP和Perl。XAMPP開放源碼包的設置讓安裝和使用出奇容易。整合型的Apache套件。XAMPP包括Apache、MySQL、PHP、PERL,直接解壓縮&#x…

15.2. important

<para><important>Text goes here.</important></para>重要Text goes here.原文出處&#xff1a;Netkiller 系列 手札 本文作者&#xff1a;陳景峯 轉載請與作者聯系&#xff0c;同時請務必標明文章原始出處和作者信息及本聲明。

查看表的創建時間

select OWNER,OBJECT_NAME,CREATED from dba_objects where OBJECT_NAME表名 CREATED 是表的創建時間 查詢 dba_objects 表需要dba權限

linux python2.7 scipy_scipy.sparse.linalg.sp為Linux系統上的大型稀疏矩陣解決了令人驚訝的行為...

我正在計算一個線性系統Ax b的解決方案&#xff0c;其中A具有一個大的(通常200,000行和相關的密集矩陣的列)稀疏矩陣和ba稀疏矩陣&#xff0c;大約100列。當我在Windows系統上運行代碼(Python2.7&#xff0c;scipy0.14.0)時&#xff0c;以下命令fromscipy.sparse.linalgimport…

簡簡單單的代碼讓你輕松學會 動態代理

原文出處&#xff1a;http://weixiaolu.iteye.com/blog/1477774 -------------------------------------------------------------------------- 簡簡單單的代碼讓你輕松學會動態代理 前言&#xff1a; 最近一直在分析hadoop的RPC機制。在hadoop中&#xff0c;DataNode和Na…

python變量和字符_Python變量和字符串

我需要知道Python中的變量是字符串(名稱)還是數字。我想檢查圖的度數&#xff0c;但是我需要知道“I”迭代器是字符串內部的一個數字還是字符串內的一個名稱&#xff0c;在末尾顯示了圖的度數。在這個代碼有什么問題嗎&#xff1f;在import csv, sysimport networkx as nxdef m…

Adobe軟件打開后設置默認頁面方式和默認鼠標方式

PDF文件打開后是默認顯示&#xff0c;與顯示器比例不協調&#xff0c;或大或小&#xff0c;總是需要手動調節閱讀方式&#xff0c;解決方法如下&#xff1a; Adobe軟件中可以設置默認頁面方式&#xff0c;具體步驟如下&#xff1a; 編輯 (Edit)-首選項(Preferences)-輔助工具…

CSS深入理解學習筆記之vertical-align

1、vertical-align基本認識 支持的屬性值&#xff1a; ①線類&#xff1a;baseline&#xff08;默認&#xff09;&#xff0c;top&#xff0c;middle&#xff0c;bottom ②文本類&#xff1a;text-top&#xff0c;text-bottom ③上標下標類&#xff1a;sub&#xff0c;super ④…

Java NIO原理 圖文分析及代碼實現

原文出處&#xff1a;http://weixiaolu.iteye.com/blog/1479656 ---------------------------------------------------------------------- Java NIO原理圖文分析及代碼實現 前言: 最近在分析hadoop的RPC(Remote Procedure Call Protocol &#xff0c;遠程過程調用協議&am…

威綸通觸摸屏與mysql_威綸觸摸屏應用實例 以及威綸通觸摸屏配方組合

在生產車間&#xff0c;每臺設備運作起來都會有各自的組合參數&#xff0c;每臺設備運作的時候產生的數據即構成配方表&#xff0c;每張配方表內可建立多組配方數據&#xff0c;這些多臺機器的配方數據都可儲存在人機里&#xff0c;以供控制器(PLC)執行相對應的任務。從“包裝機…

分析師視角:2018年的數據中心3大預測

向數字業務平臺的遷移促使基礎設施和運營(I&O)領導者必須重新去思考他們的數據中心策略。像人工智能這樣的數字業務平臺&#xff0c;包括機器學習(ML)、深度神經網絡(DNN)和物聯網&#xff0c;對IT基礎設施有敏捷和可伸縮性等方面的計算需求。在2018年&#xff0c;I&O領…

大數據實時處理:百分點實時計算架構和算法

原文&#xff1a;http://www.oschina.net/question/1459174_145255 百分點官網&#xff1a;http://www.baifendian.com/ ------------------以下正文---------------------- 當今時代&#xff0c;數據不再昂貴&#xff0c;但從海量數據中獲取價值變得昂貴&#xff0c;而要及時…

ELK 日志處理開發指南

ELK 是 Elastic 公司出品的開源實時日志處理與分析解決方案&#xff0c;ELK 分別代表分布式搜索引擎 Elasticsearch、日志采集與解析工具 Logstash、日志可視化分析工具Kibana&#xff0c;具有配置方式靈活、集群可線性擴展、日志實時導入、檢索性能高效、可視化分析方便等優點…

UNION 和UNION ALL 的區別

UNION&#xff1a;的結果集沒有重復行&#xff0c;且安union默認的排序規則進行排序了。 UNION ALL&#xff1a;的結果集&#xff0c;如果各表有重復行就有重復行&#xff0c;不刪重復行&#xff0c;不排序。 ------------------------- 在數據庫中&#xff0c;UNION和UNION…