Re: NOT LIKE much faster than LIKE?

Jim Nasby <jnasby@pervasive.com>

From: "Jim C. Nasby" <jnasby@pervasive.com>
To: Andrea Arcangeli <andrea@cpushare.com>
Cc: pgsql-performance@postgresql.org
Date: 2006-01-11T21:02:21Z
Lists: pgsql-performance
On Wed, Jan 11, 2006 at 09:39:47PM +0100, Andrea Arcangeli wrote:
> > CREATE INDEX indexname ON tablename ( position(' PREEMPT ' in kernel_version) );
> 
> The index only helps the above query with = 0 and not the one with != 0,
> but it seems not needed in practice.

Hrm. If you need indexing then, you'll probably have to do 2 indexes
with a WHERE clause...

CREATE INDEX ... WHERE position(...) = 0;
CREATE INDEX ... WHERE position(...) != 0;

I suspect this is because of a lack of stats for functional indexes.
-- 
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461