我有一個更新語句去這樣的:Update語句
update tableA
set val1='X', val2='Y'
where id in (
select id from tableA A
LEFT JOIN tableB B ON A.col1=B.col1 and A.col2=B.col2
where A.col3='xx' and B.col3= 'YY')
現在,內SELECT語句在10分鐘內返回1000條記錄運行(包括表A和tableB的有關於10MIL記錄每個)
整個更新語句運行3小時(尚未等待完成)
任何想法?
它可能爲tableA中的每一行運行內部查詢。你使用的是哪個數據庫? – 2010-03-03 16:18:41
數據庫是DB2 – Peter 2010-03-03 16:23:00
表A上是否有涉及修改列的索引?開銷可能會減慢進程 – 2010-03-03 16:24:41