2017-06-06 13 views
1

私はPostgres 9.6のインストールがあります。この奇妙なケースに遭遇しています。 - 10〜15分後に複数の結合を持つ同じクエリを実行すると、数百のオーダーのクエリコストとその増加が続きます。掃除と分析:クエリコストの大幅な変更

私は掃除と分析が何をしているのか理解していますが、真空を実行して分析して数分以内に増加するクエリコストが心配です。将来のパフォーマンスのボトルネックを招く恐れがあります。

PS:私は(約5万レコード)が1のうち2台がひどく書かれており、他が頻繁に更新される(PostGISの70件のKレコードをこのテーブル主に緯度経度& GEOM列に更新がある)

これは数時間おきに自動真空を実行する必要があるということですか?

+2

クエリの実行時間も増えていますか?たぶん、調整されたコストは、単に現実の世界をより良く反映します。計画が変わるのか、それとも単にコスト見積だけですか? ** '説明(分析、冗長、バッファ)' **を複数回使用すると、異なる実行時間が得られますか?通常、手動で真空を行う必要はありません。テーブルを頻繁に更新する場合は、トランザクションでアイドル状態でないことを確認してください。変更速度に追いつくのに十分な自動空洞を作成してください。 –

+0

@a_horse_with_no_name 私は使用時に異なる実行時間を得ます分析、冗長とバッファーについて複数回説明する。クエリプランはまったく変更されませんが。 – Harshwardhan

答えて

0

Autovaccumを積極的にする。 autovaccumがリソース(CPUとIOの使用量を見て)を使い果たしていると思うならば、テーブルレベルのautovacuum_vacuum_cost_delayとautovacuum_vacuum_thresholdパラメータを調整することができます

関連する問題