Re: Make EXPLAIN generate a generic plan for a parameterized query
От | Laurenz Albe |
---|---|
Тема | Re: Make EXPLAIN generate a generic plan for a parameterized query |
Дата | |
Msg-id | c7fb05cf3fdd116e3e3744f9d78b8a2475c3db89.camel@cybertec.at обсуждение исходный текст |
Ответ на | Re: Make EXPLAIN generate a generic plan for a parameterized query (Julien Rouhaud <rjuju123@gmail.com>) |
Ответы |
Re: Make EXPLAIN generate a generic plan for a parameterized query
|
Список | pgsql-hackers |
On Wed, 2022-10-12 at 00:03 +0800, Julien Rouhaud wrote: > On Tue, Oct 11, 2022 at 09:49:14AM -0400, Tom Lane wrote: > > I think it might be better to drive it off an explicit EXPLAIN option, > > perhaps > > > > EXPLAIN (GENERIC_PLAN) SELECT * FROM tab WHERE col = $1; > > > > If you're trying to investigate custom-plan behavior, then you > > need to supply concrete parameter values somewhere, so I think > > this approach is fine for that case. (Shoehorning parameter > > values into EXPLAIN options seems like it'd be a bit much.) > > However, investigating generic-plan behavior this way is tedious, > > since you have to invent irrelevant parameter values, plus mess > > with plan_cache_mode or else run the explain half a dozen times. > > So I can get behind having a more convenient way for that. > > One common use case is tools identifying a slow query using pg_stat_statements, > identifying some missing indexes and then wanting to check whether the index > should be useful using some hypothetical index. > > FTR I'm working on such a project and for now we have to go to great lengths > trying to "unjumble" such queries, so having a way to easily get the answer for > a generic plan would be great. Thanks for the suggestions and the encouragement. Here is a patch that implements it with an EXPLAIN option named GENERIC_PLAN. Yours, Laurenz Albe
Вложения
В списке pgsql-hackers по дате отправления: