Re: Prepared statements considered harmful
| От | zhou bo |
|---|---|
| Тема | Re: Prepared statements considered harmful |
| Дата | |
| Msg-id | BAY113-F1965616C48598990A3FED99C3F0@phx.gbl обсуждение исходный текст |
| Ответ на | Re: Prepared statements considered harmful (Csaba Nagy <nagy@ecircle-ag.com>) |
| Список | pgsql-hackers |
hello everyone , i has been add to you guys' mail list by accident, i don't how to refuse to receive your mails, would you please help me to remove my mail address form mail group pgsql-hackers@postgresql.org? i appreciatewhat you will do for me. (my mail address: tate_zhou@hotmail.com) thanks . >From: Csaba Nagy <nagy@ecircle-ag.com> >To: Peter Eisentraut <peter_e@gmx.net> >CC: postgres hackers <pgsql-hackers@postgresql.org> >Subject: Re: [HACKERS] Prepared statements considered harmful >Date: Thu, 31 Aug 2006 14:52:05 +0200 > >On Thu, 2006-08-31 at 14:32, Peter Eisentraut wrote: > > Am Donnerstag, 31. August 2006 14:11 schrieb Csaba Nagy: > > > How about "prepared" means really "prepared"... in the sense of parsed, > > > analyzed all sensible plans, and save a meta-plan which based on current > > > statistics and parameter values chooses one of the considered (and > > > cached) plans ? > > > > I don't think this could solve one particularly frequent problem which is that > > pattern matching queries don't get along with prepared plans if the search > > pattern isn't known at planning time. > >Why not ? I specifically said you would prepare a few sensible plans >based on statistics/expected variations of the statistics, and parameter >value ranges which would trigger different plans. > >So for the like query case you could save 2 plans, one for the indexable >case, one for the not indexable case. Then at runtime you choose the >proper one based on the pattern value. The meta-plan I mentioned would >be a collection of plans with rules to choose the right one at run time >based on parameter values and perhaps the current statistics. > >This of course would need a lot more preparation time than just prepare >one plan, but that's why you want to do it upfront and then cache the >results. A central plan repository mentioned in other posts would fit >nicely here... and you could use prepared plans for non-parameterized >queries too by simply considering the constants as parameters, to >increase the chances for a prepared plan reuse - this of course for >complex enough queries. > >Cheers, >Csaba. > > >---------------------------(end of broadcast)--------------------------- >TIP 6: explain analyze is your friend
В списке pgsql-hackers по дате отправления: