[thelist] [mysql] optimising query OR alternative to regexp?
Matt Warden
mwarden at gmail.com
Tue Feb 26 17:57:13 CST 2008
On 2/26/08, Paul Bennett <Paul.Bennett at wcc.govt.nz> wrote:
> * db table with 100,000+ rows
> * one 'name' field in the format 'lastname, first names'
> * query like so:
> select table1.somestuff, table2.otherstuff
> from
> table1, table2
> where table1.date < 'somedate'
> and table1.date > 'someotherdate'
> and table1.name regexp '^[ a-z]{0,}smith[ a-z]{0,},[ a-z]{0,}$'
> and table1.name regexp '^[ a-z]{0,},[ a-z]{0,}john[ a-z]{0,}$'
> and table1.key = table2.foreignKey
...
> I have indexes on the relevant columns (name, date).
Forget regex for a moment. Can you explain your requirement in
English. What exactly are you trying to search for? I have a feeling
you are searching for too much and in the process removing the
possibility for any index use.
Thanks,
--
Matt Warden
Cincinnati, OH, USA
http://mattwarden.com
This email proudly and graciously contributes to entropy.
More information about the thelist
mailing list