| From: | Andrea Arcangeli <andrea(at)cpushare(dot)com> |
|---|---|
| To: | "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com> |
| Cc: | pgsql-performance(at)postgresql(dot)org |
| Subject: | Re: NOT LIKE much faster than LIKE? |
| Date: | 2006-01-11 20:39:47 |
| Message-ID: | 20060111203947.GL15897@opteron.random |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
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.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andrea Arcangeli | 2006-01-11 20:46:39 | Re: NOT LIKE much faster than LIKE? |
| Previous Message | Jim C. Nasby | 2006-01-11 20:23:45 | Re: Slow query with joins |