Re: Query performance issue
От | Greg Sabino Mullane |
---|---|
Тема | Re: Query performance issue |
Дата | |
Msg-id | CAKAnmmKMzXaUeVg-WLVReCOD-=+8GUq8=Uc7a0jfU6DgzPZ_Yg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Query performance issue (yudhi s <learnerdatabase99@gmail.com>) |
Ответы |
Re: Query performance issue
Re: Query performance issue |
Список | pgsql-general |
To be frank, there is so much wrong with this query that it is hard to know where to start. But a few top items:
* Make sure all of the tables involved have been analyzed. You might want to bump default_statistics_target up and see if that helps.
* As mentioned already, increase work_mem, as you have things spilling to disk (e.g. external merge Disk: 36280kB)
* Don't use the "FROM table1, table2, table3" syntax but use "FROM table1 JOIN table2 ON (...) JOIN table3 ON (...)
* Try not to use subselects. Things like WHERE x IN (SELECT ...) are expensive and hard to optimize.
* You have useless GROUP BY clauses in there. Remove to simplify the query
* There is no LIMIT. Does the client really need all 135,214 rows?
Cheers,
Greg
* Make sure all of the tables involved have been analyzed. You might want to bump default_statistics_target up and see if that helps.
* As mentioned already, increase work_mem, as you have things spilling to disk (e.g. external merge Disk: 36280kB)
* Don't use the "FROM table1, table2, table3" syntax but use "FROM table1 JOIN table2 ON (...) JOIN table3 ON (...)
* Try not to use subselects. Things like WHERE x IN (SELECT ...) are expensive and hard to optimize.
* You have useless GROUP BY clauses in there. Remove to simplify the query
* There is no LIMIT. Does the client really need all 135,214 rows?
Cheers,
Greg
В списке pgsql-general по дате отправления: