我正在制作字典,我有两张桌子
word (word, description, ext)
translate (id, word_translate, description_tranlate, org_word, language_id)
所有单词都没有翻译。我只想搜索“word”和“word_translated”。搜索结果应始终显示单词 + 翻译(如果存在)。我的搜索查询看起来像这样。
SELECT * FROM word
LEFT JOIN translate ON (word=org_word AND language_id=?)
WHERE (word LIKE "%something%" OR translated_word LIKE "%something%")
查询时间:9.3350 sek
但是,如果我只使用一个 Like ex。像“%something%”这样的词
SELECT * FROM word
LEFT JOIN translate ON (word=org_word AND language_id=?)
WHERE (word LIKE "%somethin%")
查询时间:0.0451 sek
只有 *word_traslate LIKE* "%somethin%"
SELECT * FROM word
LEFT JOIN translate ON (word=org_word AND language_id=?)
WHERE (translated_word LIKE "%somethin%")
查询时间:0.0037 sek
为什么使用两个 LIKE 的查询需要更长的时间。有没有更好的方法来做这个查询。难道我做错了什么?