PostgreSQLで数百万件のデータをSQL文で削除したいと思ったのですが、カスケードしている関連テーブルやインデックスもあるため削除に時間が掛かって終わりません。処理中ロックも掛かっているようでDBサーバのCPU使用率も100%になってしまいます。インデックスを削除しても良いかもしれませんが、インデックスの削除自体にも時間が掛かりそうですし、その間検索のパフォーマンスが低下するのも避けたいです。
10件づつや1000件づつであれば削除処理が完了して返ってきますが、どちらも100時間くらい掛かりそうなペースです。
SQL文ではなくPHP側から処理を行っても削除速度は同じくらいです。
できれば数時間~10時間くらいで処理を完了させたいのですが、何か良い方法はあるでしょうか。
回答4件
あなたの回答
tips
プレビュー