加入distinct 和不加入執行時間相差幾千倍
SELECT DISTINCT a.batch_no,
TO_CHAR ((a.sap_release_date - 1 / 24),
'mm/dd/yy hh24:mi:ss'
) AS sap_release_date
FROM (SELECT batch_no, MAX (wo.sap_release_date)
sap_release_date,
MAX (wo.create_date) AS sfc_donwload_time
FROM dfms.wip_d_wo_master wo
WHERE wo.sfg_type = 'SYSTEM'
AND wo.sap_release_date >=
TO_DATE ('20100226', 'yyyymmdd')
AND wo.sap_release_date <
TO_DATE ('20100226', 'yyyymmdd')
+ 1
AND wo.plant_code IN ('MI02', 'MI03', 'MI04')
GROUP BY wo.batch_no) a,
dfms.wip_d_wo_master b
WHERE a.batch_no = b.batch_no
AND a.sap_release_date = b.sap_release_date
AND b.sfg_type = 'SYSTEM'
AND b.sap_release_date >= TO_DATE ('20100226', 'yyyymmdd')
AND b.sap_release_date < TO_DATE ('20100226', 'yyyymmdd') + 1
AND b.plant_code IN ('MI02', 'MI03', 'MI04')
wip_d_wo_master 是一個 600 多萬的大表, batch_no , sap_release_date 建立有 index , 包含有 DISTINCT
執行很慢 (Toad中執行), 但是在Web Page中執行卻很快 ,不包含 DISTINCT 在Toad中執行也很快, Cost都差不多 。
下圖中 IDX9_XXXXXXX 是欄位 SAP_RELEASE_DATE 的索引 。
下圖1 是有 DISTINCT 的執行計劃 , 執行需要 1分鐘 40 秒 。
下圖2 是 沒有 DISTINCT 的執行計劃, 執行需要不到1秒 。
[ 本帖最後由 tolywang 於 2010-2-27 12:04 編輯 ]
cost.jpg
cost2.jpg
TO_CHAR ((a.sap_release_date - 1 / 24),
'mm/dd/yy hh24:mi:ss'
) AS sap_release_date
FROM (SELECT batch_no, MAX (wo.sap_release_date)
sap_release_date,
MAX (wo.create_date) AS sfc_donwload_time
FROM dfms.wip_d_wo_master wo
WHERE wo.sfg_type = 'SYSTEM'
AND wo.sap_release_date >=
TO_DATE ('20100226', 'yyyymmdd')
AND wo.sap_release_date <
TO_DATE ('20100226', 'yyyymmdd')
+ 1
AND wo.plant_code IN ('MI02', 'MI03', 'MI04')
GROUP BY wo.batch_no) a,
dfms.wip_d_wo_master b
WHERE a.batch_no = b.batch_no
AND a.sap_release_date = b.sap_release_date
AND b.sfg_type = 'SYSTEM'
AND b.sap_release_date >= TO_DATE ('20100226', 'yyyymmdd')
AND b.sap_release_date < TO_DATE ('20100226', 'yyyymmdd') + 1
AND b.plant_code IN ('MI02', 'MI03', 'MI04')
wip_d_wo_master 是一個 600 多萬的大表, batch_no , sap_release_date 建立有 index , 包含有 DISTINCT
執行很慢 (Toad中執行), 但是在Web Page中執行卻很快 ,不包含 DISTINCT 在Toad中執行也很快, Cost都差不多 。
下圖中 IDX9_XXXXXXX 是欄位 SAP_RELEASE_DATE 的索引 。
下圖1 是有 DISTINCT 的執行計劃 , 執行需要 1分鐘 40 秒 。
下圖2 是 沒有 DISTINCT 的執行計劃, 執行需要不到1秒 。
[ 本帖最後由 tolywang 於 2010-2-27 12:04 編輯 ]
cost.jpg
cost2.jpg
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-628030/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 加入一個執行緒執行緒
- 我加入 MySQL 的 5 年時間MySql
- 多執行緒-執行緒控制之加入執行緒執行緒
- sql server 計算兩個時間 相差的 幾天幾時幾分幾秒SQLServer
- sleep 時間段不佔指令碼執行時間指令碼
- 快訊:阿里巴巴加入JCP執行委員會阿里
- 想要加入Python行業 鄭州Python學習多長時間Python行業
- 時間相差秒數_Golang 時間操作大全Golang
- DISTINCT 和 TOP合用的執行順序
- js獲取指定時間日期和當前時間日期的相差多少時間JS
- python加入等級考試幾年Python
- Go 編譯時加入版本資訊Go編譯
- beego orm 時間相差八小時GoORM
- sqlserver執行時間和自行效率SQLServer
- 【java】【多執行緒】睡眠/守護/加入/禮讓執行緒,執行緒優先順序(4)Java執行緒
- 網路程式設計基礎-socket加入多執行緒程式設計執行緒
- Spark 加入Spark
- php不設定指令碼執行時間的方法PHP指令碼
- 關於CENTOS 執行時間異常到幾百萬的BUGCentOS
- HTML加入CSSHTMLCSS
- HTML加入JavaScriptHTMLJavaScript
- ORACLE計算2個時間段相差時間小時、分、秒Oracle
- abap執行時間
- js中拼接字串時,onclick順序亂了不執行時間JS字串
- 時區問題導致時間相差8個小時
- 想加入開發
- JavaScript 計算兩個時間相差天數JavaScript
- 招聘|歡迎加入非凸,學習Rust,瞭解記憶體和執行緒安全問題Rust記憶體執行緒
- 將計算機加入和脫離域計算機
- ABAP程式碼執行時間最佳化的幾點建議
- Linux下如何檢視系統啟動時間和執行時間Linux
- 快速裝載MYSQL資料庫 (加入時間:2001-2-15) (轉)MySql資料庫
- job 執行時間比排程間隔時間長
- Dou Lee的執行緒併發包已經加入J2SE 1.5執行緒
- php 和 nginx 的幾個超時時間PHPNginx
- 資料庫廠商雲和恩墨加入龍蜥社群,打造安穩易用的 IT 執行環境資料庫
- js獲取兩個時間相差的天數JS
- 正常執行時間監控