3
Postgres UPDATEに39時間かかったのはなぜですか?
最大210万行のPostgresテーブルがあります。私はそれについて以下の更新を実行しました: WITH stops AS ( SELECT id, rank() OVER (ORDER BY offense_timestamp, defendant_dl, offense_street_number, offense_street_name) AS stop FROM consistent.master WHERE citing_jurisdiction=1 ) UPDATE consistent.master SET arrest_id=stops.stop FROM stops WHERE master.id = stops.id; このクエリの実行には39時間かかりました。私はこれを4(物理)コアi7 Q720ラップトッププロセッサ、大量のRAMで実行していますが、他のほとんどはほとんど実行していません。HDDスペースの制限はありません。テーブルは最近、バキュームされ、分析され、インデックスが再作成されました。 少なくとも最初のWITH完了後、クエリが実行されている間は常に、CPU使用率は通常低く、HDDは100%使用されていました。HDDが非常に激しく使用されていたため、他のアプリの実行速度は通常よりもかなり遅くなりました。 ラップトップの電源設定は高パフォーマンス(Windows 7 x64)でした。 ここに説明があります: Update on master (cost=822243.22..1021456.89 rows=2060910 width=312) CTE stops -> WindowAgg (cost=529826.95..581349.70 …
17
postgresql