[IDS培訓文件]第四章 並行資料查詢PDQ

mrhutoo發表於2013-09-06
第四章 並行資料查詢PDQ(parallel Data Qurey)
1、PDQ技術
Informix的PDQ技術將大量資料庫操作分割成為多個並行操作任務,充分利用多處理器的並行處理能力,以比普通查詢快若干倍的速度完成資料查詢。
Informix的PDQ技術主要包括一下並行操作:
1)並行掃描(Parallel scans)
2)並行連線(Parallel joins)
3)並行排序(Parallel sorts)
4)並行組合(Parallel groups)
5)並行聚合(Parallel aggregates)
2、並行插入(Parallel insert)
1)在Informix 7.0版本後,對特殊的資料插入操作可以並行執行,並行插入包括一下方式:
(1)insert into tabname select … from … where …;
使用這種方式,insert、select操作是並行執行的。如果目的表、源表都進行了資料分片,而且Informix使用了多個CPU VP(virtual process),則insert 操作可以並行執行。
(2)select … from …where … into temp tabname;
使用這種方式,insert、select操作是並行執行的。而且臨時表tabname將以round robin方式分片在DBSPACETEMP指定的多個臨時資料空間(dbspaces)上。
2)並行插入在一下情況將不被啟動
(1)資料插入的目的表使用了引用完整性控制(定義了主鍵或者外來鍵)或者使用了”tigger”;
(2)資料插入的目的表是網路上遠端資料庫的表;
(3)資料插入的目的表中包含BLOB欄位;
(4)資料插入的目的表中包含處於”filtering”狀態的限制。(”filtering”狀態指表上的限制”constrains”開啟,違反”constrains”時記錯誤日誌,但並不“回滾”)
3、使用PDQ
使用PDQ時,首先要申明所做的操作是PDQ操作,通過執行:set pdqpriority high可以開啟PDQ開關。執行完以後,應關閉PDQ開關:set pdqpriority low;其次,為了更好的發揮PDQ技術,應該對操作的資料表進行資料分割;最後運用PDQ技術應該選擇多CPU的機器。當使用如下操作時,將不能啟動PDQ:
(1)查詢使用了”cursor stablility”的隔離等級;
(2)查詢使用了update遊標或者遊標定義為”with hold”;
(3)查詢使用了巢狀子查詢;
(4)查詢中使用了儲存過程;
(5)查詢中不包含scan,join,sort,group,aggregate。
4、PDQ監控
使用onstat –g mgm可以監控PDQ使用情況。
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24955184/viewspace-772254/,如需轉載,請註明出處,否則將追究法律責任。

相關文章