On Tue, 2003-09-30 at 09:54, Mike Mascari wrote: > Arguile wrote: > > > On Tue, 2003-09-30 at 07:06, Mike Mascari wrote: > > > >>CREATE INDEX i_employees ON employees(lower(name)); > >> > >>Let's also assume that the lower() function is computationally > >>expensive. Now if I have a query like: > >> > >>SELECT lower(name) > >>FROM employees > >>WHERE lower(name) = 'mike' > >> > >>will PostgreSQL re-evaluate lower(name)? Is it necessary? > > > > No, it won't re-evaluate. > > I think it will.
You're correct, I misunderstood to which clause you were referring to: I thought you were wondering about the lower(name) in the where clause. Sorry for the confusion. ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match