RAC環境對並行查詢的支援
發表於: 2008.08.08 23:14
分類: ORACLE
出處: http://yangtingkun.itpub.net/post/468/468445
---------------------------------------------------------------
RAC環境中,一個並行的執行可能分佈到多個例項上執行。
如果連線Oracle RAC資料庫時,一個節點上的併發操作可以分佈到多個節點上同時執行。
看一個簡單的例子:
SQL> CONN TEST/TEST@TESTRAC已連線。
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAME
----------------
testrac2
SQL> SELECT INSTANCE_NAME FROM GV$INSTANCE;
INSTANCE_NAME
----------------
testrac1
testrac2
SQL> SELECT * FROM V$VERSION;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Solaris: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
這是一個10g的環境,下面建立一張測試表,建立過程中設定表的並行度:
SQL> CREATE TABLE T_PARALLEL PARALLEL 16
2 AS SELECT A.* FROM DBA_OBJECTS A, DBA_TABLES
3 WHERE ROWNUM <= 5000000;
表已建立。
SQL> SET AUTOT ON
SQL> SELECT COUNT(*) FROM T_PARALLEL;
COUNT(*)
----------
5000000
執行計劃
----------------------------------------------------------
Plan hash value: 70256698
----------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time | TQ |IN-OUT| PQ Distrib |
----------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 1081 (2)| 00:00:13 | | | |
| 1 | SORT AGGREGATE | | 1 | | | | | |
| 2 | PX COORDINATOR | | | | | | | |
| 3 | PX SEND QC (RANDOM) | :TQ10000 | 1 | | | Q1,00 | P->S | QC (RAND) |
| 4 | SORT AGGREGATE | | 1 | | | Q1,00 | PCWP | |
| 5 | PX BLOCK ITERATOR | | 4588K| 1081 (2)| 00:00:13 | Q1,00 | PCWC | |
| 6 | TABLE ACCESS FULL| T_PARALLEL | 4588K| 1081 (2)| 00:00:13 | Q1,00 | PCWP | |
----------------------------------------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
從執行計劃可以看到,Oracle選則了並行執行。
新連線一個會話,在執行上面這個並行查詢的同時,檢查GV$PX_PROCESS檢視:
SQL> SELECT * FROM GV$PX_PROCESS;
INST_ID SERV STATUS PID SPID SID SERIAL#
---------- ---- --------- ---------- ------------ ---------- ----------
2 P000 IN USE 21 25120 265 13
2 PZ99 IN USE 42 25480 271 39
2 P001 IN USE 24 25122 279 1579
2 P002 IN USE 34 25124 280 602
2 P003 IN USE 35 25126 281 42
2 P004 IN USE 37 25155 284 106
2 P005 IN USE 41 25159 296 2212
1 P009 IN USE 44 27375 244 20
1 P004 IN USE 39 27336 246 504
1 P000 IN USE 24 27328 247 19
1 P005 IN USE 40 27349 251 363
1 P002 IN USE 37 27332 254 76
1 PZ99 IN USE 45 27725 265 28
1 P008 IN USE 43 27373 266 46
1 P006 IN USE 41 27369 270 64
1 P001 IN USE 32 27330 283 1980
1 P007 IN USE 42 27371 289 86
1 P003 IN USE 38 27334 311 21707
已選擇18行。
很顯然,並行查詢的16個程式已經分佈到兩個節點上同時執行了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16396910/viewspace-1029579/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RAC環境中的阻塞 查詢鎖
- RAC中的並行查詢 DOP(Degree of Parallelism)並行Parallel
- 查詢RAC環境中例項間資源分配情況
- DM並行查詢並行
- 關於RAC環境下鎖查詢的測試案例1-1
- 關於RAC環境下鎖查詢的測試案例1-2
- 一種支援多種並行環境的柵格地理計算並行運算元並行
- C#中的並行處理、並行查詢的方法你用對了嗎?C#並行
- PostgreSQL並行查詢概述SQL並行
- Oracle並行操作——並行查詢(Parallel Query)Oracle並行Parallel
- oracle表查詢的並行度Oracle並行
- 搭建go環境並執行Go
- 表和索引並行查詢索引並行
- RAC環境下的SEQUENCE對應用的影響
- 並行查詢對於響應時間的影響實驗並行
- 環境變數與檔案查詢變數
- 結合 Shell 對 Koa 應用執行環境檢查
- union的兩個子查詢是否並行並行
- 並行查詢緩慢的問題分析並行
- 並行查詢並行度Degree與instances 設定並行
- Spring Boot 2.4 對多環境配置的支援更改Spring Boot
- 【效能】Oracle表並行對邏輯遷移後查詢效能的影響Oracle並行
- 【RAC】資料庫的靜默狀態(QUIESCE RESTRICTED)對RAC環境的影響資料庫UIREST
- 使用MDX進行環比查詢
- RAC環境的恢復策略
- RAC環境下dataguard的搭建
- oracle並行查詢一例薦Oracle並行
- 什麼是並行查詢及其原理並行
- 【Oracle】如何查詢並行是否起作用?Oracle並行
- 4.4、Libgdx使用方法查詢執行環境相關屬性
- 用並行查詢讓SQL Server加速執行並行SQLServer
- oracle 並行查詢時並行資源分配追蹤測試Oracle並行
- Oracle RAC 高可用性體系結構與叢集 單例項環境與 Oracle RAC 環境對比Oracle單例
- RAC環境中的TNSNAMES檔案
- RAC環境STANDBY的SWITCHOVER切換
- PostgreSQL並行查詢相關配置引數SQL並行
- TDSQL-C 並行查詢技術探索SQL並行
- DB遷移RAC環境