On Wed, Jan 11, 2006 at 12:40:32PM -0600, Jim C. Nasby wrote: > On Tue, Jan 10, 2006 at 02:44:47AM +0100, Andrea Arcangeli wrote: > > "cooperative" runs "WHERE kernel_version NOT LIKE '%% PREEMPT %%'", while > > "preempt" runs "WHERE kernel_version LIKE '%% PREEMPT %%'. The only difference > > One thing you could do is change the like to: > > WHERE position(' PREEMPT ' in kernel_version) != 0 That alone fixed it, with this I don't even need the index (yet). Thanks a lot. > And then create a functional index on that: > > 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.