Re: Speeding up LIKE with placeholders?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Dan Sugalski <dan(at)sidhe(dot)org>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Speeding up LIKE with placeholders?
Date: 2004-09-10 22:33:21
Message-ID: 3576.1094855601@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Dan Sugalski <dan(at)sidhe(dot)org> writes:
> Since the only difference in this case is that the parameters are
> pulled out for transport rather than being in band (a
> properly-escaped string substitution could turn this case from a
> PQexecParams call into a PQexec call) I was thinking the thing to do
> would be to either teach the planner to look in the parameter list
> when it gets handed $xxx variables, or have the back-end do the
> substitution to the SQL before handing the code to the planner.

This has already been considered and rejected. Oliver Jowett did the
part that is safe, which is to use the parameter values for estimation
purposes in other contexts, but pre-substituting a parameter value for
LIKE calls the mere correctness of the plan into question.

What it would take to make it workable is a change in the semantics of
the v3 protocol messages, such that there is no re-use of a plan. That,
no one is up for quite yet, when we just hacked the protocol last year ...

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Dan Sugalski 2004-09-10 22:55:43 Re: Speeding up LIKE with placeholders?
Previous Message Kevin Barnard 2004-09-10 22:19:58 Re: What is the postgres version of mysql's "ON DUPLICATE KEY"