From: | Richard Huxton <dev(at)archonet(dot)com> |
---|---|
To: | "Thomas H(dot)" <me(at)alternize(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: planer picks a bad plan (seq-scan instead of index) |
Date: | 2006-11-09 09:22:15 |
Message-ID: | 4552F347.3050708@archonet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Thomas H. wrote:
> --------------------
> SELECT * FROM shop.dvds
> LEFT JOIN oldtables.movies ON mov_id = dvd_mov_id
> LEFT JOIN shop.data_soundmedia ON sm_info_ean = dvd_ean
> WHERE (lower(mov_name) LIKE '%superman re%' OR lower(dvd_name) like
> '%superman re%' OR lower(dvd_edition) LIKE '%superman re%')
> --------------------
Try putting your conditions as part of the join:
SELECT * FROM shop.dvds
LEFT JOIN
oldtables.movies
ON
mov_id = dvd_mov_id
AND (
lower(mov_name) LIKE '%superman re%'
OR lower(dvd_name) like '%superman re%'
OR lower(dvd_edition) LIKE '%superman re%'
)
LEFT JOIN shop.data_soundmedia ON sm_info_ean = dvd_ean
I'd also be tempted to look at a tsearch2 setup for the word searches.
--
Richard Huxton
Archonet Ltd
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Huxton | 2006-11-09 09:24:29 | Re: RULE - special variables? |
Previous Message | Alban Hertroys | 2006-11-09 09:06:33 | Re: planer picks a bad plan (seq-scan instead of index) |