web-dev-qa-db-ja.com

Postgresマルチテーブルvsシングルテーブルパフォーマンス

私は調査アプリケーション用にPostgreSQLを使用してデータベースを構築しています。従来のシステムでは、各調査にそれぞれ約100万行(最大)の個別のテーブルを使用していました。列はすべてのテーブルでまったく同じであるため、調査IDごとに個別のテーブルを用意するのではなく、外部キー列が調査IDを指す単一のテーブルを用意するよりも、個別のテーブルを用意する方が効率的かどうか疑問に思いました。

トレードオフとは何ですか?どのアプローチがよりスケーラブルですか?

1

UNIONまたはUNION ALLを使用して、これらのテーブルの多くの行を組み合わせるクエリをたくさん書いていますか?そうでない場合、現在の設定はおそらく単一のテーブルよりも効率的です。

数万のテーブルを作成すると、バックアップ、ダンプ、復元、アップグレードなどを行うときにスケーラビリティの問題が発生する可能性があります。これらの問題の性質は、使用しているPostgreSQLのバージョン、それらを実行するために使用しているツール、およびデータベースオブジェクトの詳細によって異なります。

1
jjanes