pgsql: Improve initdb's query for generating default descriptions alit
От | Tom Lane |
---|---|
Тема | pgsql: Improve initdb's query for generating default descriptions alit |
Дата | |
Msg-id | E1fG8ld-0007TI-0v@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Improve initdb's query for generating default descriptions a little. While poking into initdb's performance, I noticed that this query wasn't being done very intelligently. By forcing it to execute obj_description() for each pg_proc/pg_operator join row, we were essentially setting up a nestloop join to pg_description, which is not a bright query plan when there are hundreds of outer rows. Convert the check for a "deprecated" operator into a NOT EXISTS so that it can be done as a hashed antijoin. On my workstation this reduces the time for this query from ~ 35ms to ~ 10ms. Which is not a huge win, but it adds up over buildfarm runs. In passing, insert forced query breaks (\n\n, in single-user mode) after each SQL-query file that initdb sources, and after some relatively new queries in setup_privileges(). This doesn't make a lot of difference normally, but it will result in briefer, saner error messages if anything goes wrong. Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/dec10340d5ba63cf338dea256ac0fa66c649bf9e Modified Files -------------- src/bin/initdb/initdb.c | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-)
В списке pgsql-committers по дате отправления: