Oracle編程新手(來自Sybase和MS SQL Server)。什麼是「Oracle方式」避免用大量更新填寫傳輸日誌?Oracle SQL技術避免填充傳輸日誌
在我的具體情況下,我正在更新可能的大量行。這裏是我的方法:
UPDATE my_table
SET a_col = null
WHERE my_table_id IN
(SELECT my_table_id FROM my_table WHERE some_col < some_val and rownum < 1000)
...這裏我執行這個循環中,直到更新的行數爲零,
這是最好的方法?
謝謝,
賈斯廷,你的索引禁用評論是唯一可行的,如果新的更新空值與總表大小的比例非常高,大概80-90%左右。做一個完整的索引重建(從頭開始,而不是從現有的)需要一個所有行的排序。 – 2008-10-14 00:39:45
非常真實。當我最初閱讀Rob發佈的查詢時,我沒有注意到WHERE子句的some_col
2008-10-14 00:54:20