Search Postgresql Archives

Re: information_schema performance in Postgres 12

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/25/20 8:53 PM, Eric Gillum wrote:
Hello,

I've noticed a ~50x regression in execution time for a query when moving from Postgres 11.6 to 12.1. Here's an example:

SELECT tc.table_name, kcu.column_name, ccu.table_name AS foreign_table_name, ccu.column_name AS foreign_column_name FROM information_schema.table_constraints tc JOIN information_schema.key_column_usage kcu ON tc.constraint_name = kcu.constraint_name JOIN information_schema.constraint_column_usage ccu ON ccu.constraint_name = tc.constraint_name WHERE tc.constraint_type = 'FOREIGN KEY' AND ccu.table_name = 'patient' ORDER BY tc.table_name, kcu.column_name, ccu.table_name, ccu.column_name;

The only parameter to the query is the table name, in this case 'patient'. My schema has maybe 50 tables and no table has more than 50 columns. Most tables have around one to three foreign keys.

I did as straightforward a pg_upgrade as I could, so I don't know what the difference there would be.

Did you do?:
https://www.postgresql.org/docs/12/pgupgrade.html

14. Statistics

Because optimizer statistics are not transferred by pg_upgrade, you will be instructed to run a command to regenerate that information at the end of the upgrade. You might need to set connection parameters to match your new cluster.


Insight much appreciated. My thought is this is a large difference in execution time, and I'd like to know if I can get that time back. Anyway, I could move toward caching the results of these queries, so it's not the worst thing that could've happened. Overall 12.1 is looking like a godsend over 11.6 for many other use cases I have!

PostgreSQL 11.6 on x86_64-apple-darwin16.7.0, compiled by Apple LLVM version 8.1.0 (clang-802.0.42), 64-bit PostgreSQL 12.1 on x86_64-apple-darwin16.7.0, compiled by Apple LLVM version 8.1.0 (clang-802.0.42), 64-bit


--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux