I'm making a dictionary and i have two tables
word (word, description, ext)
translate (id, word_translate, description_tranlate, org_word, language_id)
All words are not translated.I want only search for 'word' and 'word_translated'. The search result should always display word + translated (if exists). My search query looks like this.
SELECT * FROM word
LEFT JOIN translate ON (word=org_word AND language_id=?)
WHERE (word LIKE "%something%" OR translated_word LIKE "%something%")
Query time: 9.3350 sek
But if I only use one Like ex. word LIKE "%something%"
SELECT * FROM word
LEFT JOIN translate ON (word=org_word AND language_id=?)
WHERE (word LIKE "%somethin%")
Query time: 0.0451 sek
And only *word_traslate LIKE* "%somethin%"
SELECT * FROM word
LEFT JOIN translate ON (word=org_word AND language_id=?)
WHERE (translated_word LIKE "%somethin%")
Query time: 0.0037 sek
Why does the query take so much longer with two LIKE's. Is there a beeter way to do this query. Am i doing something wrong?