pgsql がファイルシステムにテーブルごとに 1 つのファイルを格納し、すべてのクエリに対して pg_catalog を検索してクエリ プランニングを行う場合、良好なパフォーマンスを維持しながら単一の pgsql データベース内に配置できるテーブルの最大数はいくつですか?
EG: pgsql は単一のデータベース内で 100 万のテーブルを処理できますか? 使用されるファイル システムが ext4 であり、各テーブルに含まれるデータが非常に少ないと仮定すると、超過したディスク ストレージ サイズは問題になりません。この問題は、(1) ファイルシステムに 100 万個のファイルがあることの影響と、(2) pg_catalog に 100 万個のエントリがあることの影響から発生します。
このスレッド (2005) から、http://postgresql.1045698.n5.nabble.com/GENERAL-Maximum-number-of-tables-per-database-and-slowness-td1853836.html - 以下に述べられています (しかし、私はこれのどれだけが最近まだ適用されているかはわかりません):
ベンジャミン・アライは次のように書いています。
データベースあたりのテーブルの現在の最大数はいくつですか? また、テーブルを増やすと何らかの形でパフォーマンスが低下しますか?
ほとんどの場合、答えはノーです。ただし、Figure テーブル数が 6 に近づくと、pg_catalog は非常に巨大になります。問題は、最適なプランを構築するために、クエリ プランナーがクエリごとに pg_catalog をチェックして、利用可能なインデックス、統計情報と値の分布などを確認する必要があることです。ある時点で、非常に大きな pg_catalog によってシステムが停止する可能性があります。
...
William Yu <[隠しメール]> は次のように書いています。
ベンジャミン・アライは次のように書いています。
データベースあたりのテーブルの現在の最大数はいくつですか? また、テーブルを増やすと何らかの形でパフォーマンスが低下しますか?
ほとんどの場合、答えはノーです。ただし、Figure テーブル数が 6 に近づくと、pg_catalog は非常に巨大になります。
また、データベース ディレクトリに何万ものファイルがある場合のパフォーマンスへの影響についても考慮する必要があります。一部の新しいファイルシステムは特にこれに悩まされていませんが、ディレクトリに数千を超えるエントリがある場合、多くのファイルシステムはルックアップで行き詰まります.