High performance in PostgreSQL can be achieved by having good configuration settings and proper physical schemas, including indexes. Execution plans depend on the statistics gathered from the tables; fortunately, in PostgreSQL, you can control the behavior of the statistic collection.
For developers, it is important to get good performance. When handling foreign keys, there are two recommendations for increasing performance, which are as follows:
- Always index foreign keys: Indexing a table for foreign keys allows PostgreSQL to fetch data from the table using an index scan.
- Increase the column statistic target on foreign keys: This is also applicable to all predicates because it allows PostgreSQL to have a better estimation of the number of rows. The default statistic target is 100, and the maximum is 10,000. Increasing the statistics target makes the ANALYZE...