2016-11-29 4 views
-1

スケジュールされた時刻に毎日SQLデータベースからデータを削除するプロセスがあります。今、削除操作が行われているとき、 '選択'クエリは非常に遅くなります。どのような理由が考えられますか?データの削除に時間がかかります。

ここでは、データを削除するためにカスケード削除を使用しており、データは約150以上のテーブルから削除されます。

+2

をブロックされました。.. ..?ハードウェアのアップグレードだけですが、遅いHDではなく高速SSD、より多くのRAM、より大きなCPUです。 –

+0

データベースが断片化している可能性があります。データベースを圧縮します。 – jdweng

+0

これはよく知られている問題です。MS SQLのDELETE操作は、多かれ少なかれ大規模な表に対しては致命的に遅いです(Oracleとは異なります)。この問題を解決する方法はすべて、深いデータ分析が必要です。場合によってはテーブルのレシピやコピーがテーブルの分割によって役立つことがあります。 – olk

答えて

0

トランザクションの分離レベルによって異なります。

あなたは使用しているDBのタイプは言っていませんが、別の種類の分離をサポートしていると思います。おそらくデフォルトの1つは、コミットされていないデータを1つのクエリで読み取ることができないため、最初のトランザクションが完了するのを待つためです。たとえばhereについては

は、削除操作を「選択」クエリに行く非常に遅い行くされている場合

+0

返信いただきありがとうございます。これはSQLデータベースです。 – psb

0

今すぐSQL Server用のアイソレーションレベルの一覧です。どのような理由が考えられますか?

のwaittypeに基づいてトラブルシューティング...

select * from sys.dm_exec_requests where session_id='spid of select ' 

あなたはあなたの選択が遅い理由を見ることができるようになり、..isようにそれはまあ、あなたのシステムがビジー状態である

関連する問題