以下查詢似乎需要大約20秒才能執行,並且因爲它在單個 事務中多次運行,它會嚴重影響性能。SqL查詢性能問題
[update table1
set column3 = 'new_str'
where column1||','||column2 in
(select table1.column1||','||column2
from table1
join table2 on table1.column1 = table2.column1
where table2.column4 = 'value4'
and table1.column2 = 'value2'
and column3 = 'old_str')]
表1
列1 - 炭(12) - 主鍵
列2 - 炭(30) - 主鍵
欄3 - 炭(25)
table2中
COLUMN1 - 炭( 12) - 主鍵(表1中的外鍵)
column4 - char(12)
上表包含約1009578和1082555記錄。
什麼味道的SQL? – dnagirl 2013-03-04 14:51:23
有了這麼多的記錄,我會考慮節省更多的時間,而不是查詢優化。檢查可以更新,刪除或優化的索引,並利用一些基本標準的視圖來消除您正在梳理的一些記錄。也許上個月的記錄或者X狀態的記錄都是這些行的記錄。你在用什麼數據庫? – 2013-03-04 16:07:13