我需要本地化我的查询结果。为此,我有:
- 表格
Show,id以及其他一些信息; ShowName带有idShow,name的表格lang(对于每个节目有多个showNames 其中Show.id=ShowName.idShow)
我的查询现在可以正常工作:
select Show.*,
(SELECT name FROM ShowName
WHERE Show.id=ShowName.idShow
ORDER BY FIELD(lang,'$userPreferredLanguage','en','it','es','fr','de','pt','da','he','pl','nl','hu','no','sl', 'fi','sv','tr','cs','hr', 'el','ru','zh','ja','ko')
LIMIT 0,1) as name,
from Show
现在,问题是:有没有办法稍微加快速度?查询原样大约需要 3 秒,其中 2 秒用于计算内部SELECT. 我试过了INNER JOIN,但我不知道如何省略第二个选择。PS:注意ShowName可能没有所有的本地化,所以我需要使用FIELD函数而不是简单的WHERE lang = '$userPreferredLanguage'.
提前谢谢!