oracle hint_px_distribute_push_subq_px_join_filter_qb_name_rewrite
pq_distribute hint
1,/*+ pq_distribute(@查詢塊 外部分發表 內部分發表) */
2,此提示讓最佳化器在生產和消費查詢伺服器分發兩個連線表的記錄集,這種分發可以極大提升並行連線操作的效能
3,6種分發提示的組合用法
hash,hash
每個表的記錄會被對映到消費查詢伺服器,在連線鍵或列上使用hash函式.如果對映一完成,每個查詢伺服器
在每一對分割槽實行連線操作.這種用法最好用於,外部分發表和內部分發表大小差不多,二者連線操作會以
hash join或sort merge join
broadcast,none
外部分發表的所有記錄會被髮布到每個查詢伺服器.而內部分發表會被隨機分發到查詢伺服器.這種方式適用
於外部表非常小,而內部表很大.
none,broadcast
與上述相反
1,/*+ pq_distribute(@查詢塊 外部分發表 內部分發表) */
2,此提示讓最佳化器在生產和消費查詢伺服器分發兩個連線表的記錄集,這種分發可以極大提升並行連線操作的效能
3,6種分發提示的組合用法
hash,hash
每個表的記錄會被對映到消費查詢伺服器,在連線鍵或列上使用hash函式.如果對映一完成,每個查詢伺服器
在每一對分割槽實行連線操作.這種用法最好用於,外部分發表和內部分發表大小差不多,二者連線操作會以
hash join或sort merge join
broadcast,none
外部分發表的所有記錄會被髮布到每個查詢伺服器.而內部分發表會被隨機分發到查詢伺服器.這種方式適用
於外部表非常小,而內部表很大.
none,broadcast
與上述相反
partition,none
外部分發表的記錄透過內部的分割槽會被對映.內部分發表必須以連線鍵構建分割槽.這種分發模式用於,外部表的分割槽
數量等於查詢伺服器的倍數.比如:14分割槽和15個查詢伺服器.
(注:最佳化器會忽略,如果內部表在連線鍵上未分割槽或不是等值連線)
none,none
每個查詢伺服器會在一對匹配的分割槽上實行連線操作.自一個表到另一個表.兩個表必須是以等值連線操作
示例:
select /*+ ordered pq_distribute(s hash,hash) use_nl(s) */ column_list
from r,s
where r.c=s.c;
select /*+ ordered pq_distribute(s broadcast,none) use_hash(s) */ column_list
from r,s
where r.c=s.c;
hint
push_subq
1,令最佳化器在生成執行計劃時提早評估非合併子查詢,一般來京,非合併子查詢會在最後被執行,但
如果其成本很高或者可以僅輸出很小的記錄集時,及時評估可以提升效能
2,如果子查詢應用於遠端表或透過merge join連線,此提示無效
px_join_filter
1,讓最佳化器使用並行點陣圖過濾
qb_name
1,查詢可以定義也可以透過plan_table查詢得到
2,可以用於外部查詢或子查詢
3,如果多個查詢塊同名或者同一個查詢塊命名兩次,最佳化器會忽略引用此查詢塊的提示功能.
未被指定命名的查詢塊會由系統產生一個名字,可以透過查詢plan_table得到
4,示例:
select /*+ qb_name(qb) full(@qb e) */ empno from emp e where ename='Smith';
rewrite
1,/*+ rewrite(@queryblock view) */
2,如果可能不用考慮成本的話,引提示根據物化檢視重寫查詢.
如果你在物化檢視中使用此提示,oracle會使用此檢視不管成本
(前提是這個檢視列表中包括物化檢視)
3,oracle不會考慮列表之外的檢視,如果你未指定一個檢視列表,oracle
查詢符合條件的物化檢視,而不管它的成本多少
外部分發表的記錄透過內部的分割槽會被對映.內部分發表必須以連線鍵構建分割槽.這種分發模式用於,外部表的分割槽
數量等於查詢伺服器的倍數.比如:14分割槽和15個查詢伺服器.
(注:最佳化器會忽略,如果內部表在連線鍵上未分割槽或不是等值連線)
none,none
每個查詢伺服器會在一對匹配的分割槽上實行連線操作.自一個表到另一個表.兩個表必須是以等值連線操作
示例:
select /*+ ordered pq_distribute(s hash,hash) use_nl(s) */ column_list
from r,s
where r.c=s.c;
select /*+ ordered pq_distribute(s broadcast,none) use_hash(s) */ column_list
from r,s
where r.c=s.c;
hint
push_subq
1,令最佳化器在生成執行計劃時提早評估非合併子查詢,一般來京,非合併子查詢會在最後被執行,但
如果其成本很高或者可以僅輸出很小的記錄集時,及時評估可以提升效能
2,如果子查詢應用於遠端表或透過merge join連線,此提示無效
px_join_filter
1,讓最佳化器使用並行點陣圖過濾
qb_name
1,查詢可以定義也可以透過plan_table查詢得到
2,可以用於外部查詢或子查詢
3,如果多個查詢塊同名或者同一個查詢塊命名兩次,最佳化器會忽略引用此查詢塊的提示功能.
未被指定命名的查詢塊會由系統產生一個名字,可以透過查詢plan_table得到
4,示例:
select /*+ qb_name(qb) full(@qb e) */ empno from emp e where ename='Smith';
rewrite
1,/*+ rewrite(@queryblock view) */
2,如果可能不用考慮成本的話,引提示根據物化檢視重寫查詢.
如果你在物化檢視中使用此提示,oracle會使用此檢視不管成本
(前提是這個檢視列表中包括物化檢視)
3,oracle不會考慮列表之外的檢視,如果你未指定一個檢視列表,oracle
查詢符合條件的物化檢視,而不管它的成本多少
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26224278/viewspace-1812465/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle DBLink oracleOracle
- Oracle 中$ORACLE_HOME/bin/oracle檔案Oracle
- oracle 修改ORACLE例項Oracle
- oracle安裝工具目錄常用解釋oracle wallet manager/Oracle Directory Manager /oracle net manager /Oracle Net ManagOracle
- ORACLE基礎之oracle鎖(oracle lock mode)詳解Oracle
- 【Oracle】oracle tablespace&datafile -- oracle表空間 分享[轉]Oracle
- cx_Oracle 連線 OracleOracle
- [Oracle]Oracle良性SQL建議OracleSQL
- oracle之 Oracle LOB 詳解Oracle
- [oracle]centos 7 安裝oracleOracleCentOS
- Oracle工具(Oracle Tools) – SQLT(SQLTXPLAIN)OracleSQLAI
- oracle clone oracle_home 方法Oracle
- oracle 817 archive err,oracle hangOracleHive
- 【Oracle】修改oracle監聽埠Oracle
- 【Oracle】Oracle常用EVENT之三Oracle
- 【Oracle】Oracle常用EVENT之二Oracle
- 【Oracle】Oracle常用EVENT之一Oracle
- Oracle Clusterware and Oracle Grid InfrastructureOracleASTStruct
- 【Oracle】--"任性"Oracle安裝之旅Oracle
- OracleOracle
- Oracle vs PostgreSQL DBA(21)- Oracle VPDOracleSQL
- 【Oracle】Oracle logminer功能介紹Oracle
- Oracle案例12——NBU Oracle恢復Oracle
- [Oracle] -- 配置Oracle環境變數Oracle變數
- 「Oracle」Oracle 資料庫安裝Oracle資料庫
- oracle 12c Deprecation of Oracle StreamsOracle
- Oracle HowTo:How to get Oracle SCN?Oracle
- Oracle Temporary Tables(Oracle 臨時表)Oracle
- ORACLE_BASE 與 ORACLE_HOMEOracle
- Oracle OAF(Oracle Application Framework) SampleOracleAPPFramework
- 20 Differences Between Oracle on NT and Oracle on UnixOracle
- Oracle技術專題 - Oracle瑣Oracle
- ORACLE-BASE - Oracle DBA and development articlesOracledev
- oracle 學習筆記 (ORACLE NET )Oracle筆記
- For oracle databases, if the top showing the oracle database, then oracle process is using the top cOracleDatabase
- Oracle 之 Cloning $oracle_home (克隆安裝oracle軟體)Oracle
- Oracle例項和Oracle資料庫(Oracle體系結構)Oracle資料庫
- oracle維護服務 oracle解決方案 oracle售後服務Oracle