修正できないという奇妙な問題があります。アテンプトoracleデータベースの行を1時間以上削除してタイムアウトが発生しました
タイムスタンプが1時間より古いすべての行を削除しようとしています。
SQL:SQL Developerで完璧
DELETE FROM TABLE WHERE TIMESTAMP <= SYSTIMESTAMP - 1/24
コード全体の仕事しかし、私はタイムアウトを持ってiBatis.netで同じことをしてみてください。
<statements>
<delete id="DeleteRows" parameterClass="int">
<![CDATA[
DELETE FROM TABLE WHERE TIMESTAMP <= SYSTIMESTAMP - #VALUE#/24
<!--THIS DON'T WORK-->
]]>
</delete>
</statements>
別の奇妙なことは、i「が等しい-に」 例えば
<statements>
<delete id="DeleteRows" parameterClass="int">
<![CDATA[
DELETE FROM TABLE WHERE TIMESTAMP = SYSTIMESTAMP - #VALUE#/24
<!--THIS WORK-->
]]>
</delete>
</statements>
タイムアウトのみレ - よりとgrater-と私GENに満たないオペレータハンゲ時には存在しないという問題があります演算子よりもiBatis.netだけです。どんな身体もなぜ知っていますか?
面白い事実。私はDELETE FROM TABLE WHERE TIMESTAMP < '07-AUG-11'
を照会すると動作します。また、私はDELETE FROM TABLE WHERE TIMESTAMP BETWEEN '07-AUG-11' AND SYSTIMESTAMP
をクエリしようとすると、それも動作します。 <
と>
との組み合わせで問題があるようですSYSTIMESTAMP
これらの演算子を使用せずに1時間以上経過した行を削除する方法はありますか? おかげ
1分後にタイムアウトが発生するため、かなり長いです。この問合せを実行するSQL Developerでは、約0.2秒です。私はこのテーブルを使っていますので、そこに他の接続があります。面白い事実。私が 'DELETE FROM TABLE WHERE TIMESTAMP <'07 -AUG-11 ''をクエリすると、それは動作します。また、 'DELETE FROM TABLE WHERE TIMESTAMP '07 -AUG-11 'AND SYSTIMESTAMP'も照会しようとすると動作します。 '<' 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