一般的に、UNION
を多用していることがわかります 悪いデータベース設計を示唆しています。 UNION
の場合があります およびUNION ALL
理にかなっていますが、再帰的な共通テーブル式以外では比較的まれなはずです。
PostgreSQLには、単一のテーブルのパフォーマンスを管理しやすくするためのかなりの数のオプションが用意されています。ご指摘のとおり、部分インデックスはこの問題を管理するための非常に優れた方法です。
このようなUNION
のようにテーブルを分割する際の主な問題 一般的なステートメントは、プライマリキーと外部キーの管理が非常に問題になるというものです。一般に、ほとんどの場合、最初にデータ構造が明確で管理しやすいことを確認してから、最適化について心配し、次に最適化されたソリューションを管理しやすくすることを試みるよりも、最適化について心配する方がはるかに優れています。