我有查询返回站点的所有翻译。它通过获取用户所需语言的所有翻译,然后是站点默认语言的其余翻译,然后是任何其他尚未翻译的字符串来做到这一点。我在该查询上使用了 cachedwithin,因为数据不会经常更改,并且如果修改了翻译,我将重置该查询缓存。然后,我使用 ColdFusion 的 Query of Query 来获取我所追求的个人记录。这大大提高了性能。
我想知道是否可以进一步缓存查询查询以进一步提高性能。它似乎可以工作,因为页面加载速度快了 1/6,但是这种技术有什么陷阱吗?
查询的查询如下。
<cfquery name="qryTranslation" dbtype="query">
SELECT
TranslationString
FROM
qryGetText
WHERE
TranslationHash = <cfqueryparam value="#StringHash#" cfsqltype="cf_sql_varchar">
AND DesiredLanguageID = <cfqueryparam value="#Arguments.LanguageID#" cfsqltype="cf_sql_bigint">
</cfquery>