sql優化-oracle的併發 (Parallel DML)

一、適用場合1、大的任務,如多用於全表掃描,索引全掃描等,大表的掃描和連接、創建大的索引、分區索引掃描、大批量插入更新和刪除等,通過多個任務併發,提升效率(一卡通流水、門禁流水、門鎖流水、圖書館進出記錄)。

2、系統有足夠的資源(cpu/io)換句話說,併發是在系統資源充足、用戶少的系統上,為了充分利用系統資源以提高任務處理速度而設計的一種技術。數據倉庫、數據集市通常可使用併發查詢、PDML等併發,注意有些數據倉庫系統也提供給大量用戶訪問,這種系統有某些OLTP特性,應慎用併發。二、語法/*+parallel(table_short_name,cash_number)*/

這個可以加到insert、delete、update、select的後面來使用,如下圖所示:

這條語句是使用4個線程執行當前sql

select /*parallel (T, 4)*/

CUSTOMERID AS 交易流水號,

SCARDSNR AS 物理卡號,

OUTID AS 一卡通卡號,

OPDT AS 交易日期

-----------一卡通交易流水----------

FROM T_YKT_YKTLSXXB T

三、開啟Parallel DML併發權限

alter session enable parallel dml;

四、數據測試

1、不使用併發查詢時間為0.085S,如下圖所示:

sql優化-oracle的併發 (Parallel DML)


2、使用併發查詢時間為0.022S,如下圖所示:


sql優化-oracle的併發 (Parallel DML)


分享到:


相關文章: