回答編集履歴
1
誤字修正
answer
CHANGED
@@ -15,6 +15,6 @@
|
|
15
15
|
その際、対象レコードの抽出に索引が使用できず、残すレコードも大量に存在するケースでは、削除対象のレコードを見つけるまで残すレコードも含め何度も表スキャンを行うことになるため、処理がさらに遅くなります。この場合の対処方法として考えられるのは以下の2つです。
|
16
16
|
|
17
17
|
1. 削除対象の抽出に使用できる索引を一時的に追加する(create indexにconcurrentlyオプションを指定すると更新をブロックせずに作成できる)
|
18
|
-
1.
|
18
|
+
1. cursorを使用したdeleteを行う(with holdオプションを指定することで、途中でcommitしてもcursorをクローズさせず、続きから処理継続できる)
|
19
19
|
|
20
20
|
1は索引の追加にもそれなりの時間を要すると思われることと、サービスのSQLの実行計画変動のリスクがあることから2の方が確実と思われます。
|