考慮以下幾點:<cfqueryparam>如何影響常量和空值的性能?
<cfquery name="aQuery" datasource="#aSource#">
SELECT aColumn
FROM aTable
WHERE bColumn = <cfqueryparam value="#aVariable#" cfsqltype="#aSqlType#" />
AND cColumn = 'someConstant'
AND dColumn is null
</cfquery>
如果我改變
AND cColumn = 'someConstant'
到
AND cColumn = <cfqueryparam value="someConstant" cfsqltype="#aSqlType#" />
是否有潛在的性能提升?是否有可能傷害業績?
如果我用AND dColumn is null
做同樣的事情(使用cfqueryparam)怎麼辦?
我的發現並沒有定論。
如果它很重要,則假定ColdFusion9和Oracle db 11g。
編輯:
我只是想重申,我想諮詢一下cfqueryparam標籤是與常數和/或空值和性能remifications專門用,如果有的話。
使用帶有cfsqltype一個cfqueryparam可以幫助優化數據庫本身,因此它知道要期待一個int或VARCHAR等,可以加快數據庫查詢 –
我不認爲它沒有什麼區別,但找到它來測試它是最好的方法。 cfquery的結果屬性爲您提供執行時間。在循環內運行兩次查詢1000次左右。將執行時間放入數組中,然後比較平均值。 –