我有一個奇怪的問題,我無法修復。嘗試刪除oracle數據庫中超過1小時的行導致超時
我試圖刪除它們時間戳超過1小時的所有行。
SQL:
DELETE FROM TABLE WHERE TIMESTAMP <= SYSTIMESTAMP - 1/24
整個代碼工作完美在SQL Developer中,但是當我嘗試做iBatis.net同我得到超時。
<statements>
<delete id="DeleteRows" parameterClass="int">
<![CDATA[
DELETE FROM TABLE WHERE TIMESTAMP <= SYSTIMESTAMP - #VALUE#/24
<!--THIS DON'T WORK-->
]]>
</delete>
</statements>
另一個奇怪的是,這個問題是不存在的,當我焊割小於運算符爲「等於到」 如
<statements>
<delete id="DeleteRows" parameterClass="int">
<![CDATA[
DELETE FROM TABLE WHERE TIMESTAMP = SYSTIMESTAMP - #VALUE#/24
<!--THIS WORK-->
]]>
</delete>
</statements>
超時我根只有萊比和grater-比運營商,只有在iBatis.net。有人知道爲什麼嗎?
有趣的事實。當我查詢DELETE FROM TABLE WHERE TIMESTAMP < '07-AUG-11'
它的工作。此外,當我嘗試查詢DELETE FROM TABLE WHERE TIMESTAMP BETWEEN '07-AUG-11' AND SYSTIMESTAMP
它也可以。這似乎是問題ony與<
和>
結合SYSTIMESTAMP
是否有其他方式刪除行不超過一小時的行而不使用這些運算符? 感謝
1分鐘後超時,所以相當長。在SQL Developer中,執行此查詢的時間大約爲0.2秒。只有我現在使用這個表,所以還有其他連接。有趣的事實。當我查詢'DELETE FROM TABLE WHERE TIMESTAMP <'07 -AUG-11''它工作。此外,當我嘗試查詢'DELETE從表'時間'07' - 8月11日'和SYSTIMESTAMP'它也可以工作。這似乎是問題ony與'<' and '>' – Aht
看起來像一個優化器的東西,這是有點超出我的範圍,這裏有幾個鏈接啓動https://community.oracle.com/thread/996993&http:// dba.stackexchange.com/questions/104797/is-index-performance-on-a-timestamp6-column-impacted-when-converting-it-to-an –
謝謝我能夠解決我的問題,使用其他查詢 – Aht