500個の列と100,000個の行を含むVertica 8.1テーブルを使用しています。Verticaテーブルの列数はクエリのパフォーマンスに影響しますか?
次のクエリは、(任意のネットワーク遅延の問題を解消するために)まっすぐにVerticaクラスタノードのいずれかにVSQLクライアントを使用する場合でも、実行するのに約1.5秒かかります。
SELECT COUNT(*) FROM MY_TABLE WHERE COL_132 IS NOT NULL and COL_26 = 'anotherValue'
しかしチェックquery_requestsテーブル、request_duration_msはわずか98ミリ秒であり、resource_acquisitionsテーブルはリソース取得における遅延を示さない。私は残りの時間がどこで使われたのか理解できません。
次に、クエリで使用されている列のみを新しいテーブルにエクスポートして、この新しい小さいテーブルでクエリを実行すると、query_requestsテーブルで依然としてrequest_duration_msがわかります約98ms。
したがって、これらの列のほとんどが参照されていなくても、表の列の数は問合せの実行時間に影響するようです。私が間違っている ?もしそうなら、どうしてそうですか?事前
500カラムテーブルのソート方法は?そして2列のバージョンはどうですか?あなたは説明の計画を共有していただけますか? – mauro