2

私はAdobeColdFusionに慣れておりcachedafter、「単純な」日付を使用してクエリをキャッシュしています。

<cfparam name="application.icons_last_changed" default="#now()#">
<cfquery name="get_icons" cachedafter="02/02/1978" datasource="#application.datasources.main#">
SELECT icon_id, icon_name
FROM REF_Icon
WHERE #application.icons_last_changed#=#application.icons_last_changed#
ORDER BY sort_order
</cfquery>

プロジェクトをColdFusion/MSSQLからRailo/PostgreSQLに移行しました。今日、Railo診断の何かが私の目に留まりました。

  • 「/path/qry_get_ref_icon.cfmのget_ref_icon(Datasource = Workstream、Time = cached 、Records = 39)」を見るのに慣れています。
  • しかし、Railoでは、「/ pathqry_get_ref_icon.cfmにget_ref_icon(Datasource = Workstream、Time = 0.974 ms、Records = 39)」と表示されます。

の単純なデータ値( "02/02/1978")cachedafterはRailoでサポートされていない可能性createodbcdatetime('1978-02-02 16:37:00')があると考えて、日付をで設定してみましたが、違いは見られませんでした。

もちろん、0.974ミリ秒は非常に短い時間なので、クエリがキャッシュされる可能性があり、RailoはColdFusionほど明示的ではありません。

クエリがキャッシュされますか、それとも間違った方法で処理しますか?

4

1 に答える 1

3

いいえ、クエリはキャッシュされていません。

私はブッシュの提案に従い、次の結果を確認しました<cfdump var="#get_icons#" />

Query
Template:/super/double/secret/path/qry_get_ref_icon.cfm 
Execution Time (ms):0.624 
Recordcount:39 
Cached:No                                     <--UH OH, SPAGHETTI-O's
Lazy:No 
SQL: 
SELECT icon_id, icon_name 
FROM REF_Icon 
WHERE active_ind=1 /*{ts '1978-02-02 16:37:00'}*/ 
AND {ts '2013-02-20 22:25:14'}={ts '2013-02-20 22:25:14'} 
ORDER BY sort_order 

私は不信感のあるタイプなので、Adam Cameronの提案に従い、一部のデータを変更してからクエリを再実行しました。クエリ結果が更新されたため、キャッシュは行われません。


この問題をRailoのすばらしい人々に報告しました:https ://issues.jboss.org/browse/RAILO-2318

于 2013-02-21T03:43:20.193 に答える