2013-07-11 42 views
0

這裏是我的問題:cfquery採取永遠顯示輸出

我正在運行以下cfquery,它將永遠顯示輸出。

SELECT Timestamp 
FROM sgemaildata WHERE event_vc = "OPEN" 
AND mbTimestamp_dt >= <cfqueryparam value="#form.startdate#" cfsqltype="cf_sql_date"> 
AND mbTimestamp_dt <= <cfqueryparam value="#dateAdd('d', 1, form.enddate)#" cfsqltype="cf_sql_date"> ; 

你能告訴我怎樣才能讓它變快嗎?

+0

這裏有一些指標的概念嗎? – Tan

+0

請爲您的表顯示'CREATE TABLE'輸出。 –

+1

「查詢執行時間」和「顯示時間」(輸出結果所花費的時間量)是兩個不同的概念。你在說哪一個?另外1)查詢返回多少條記錄2)查詢執行多長時間? – Leigh

回答

2

你的cf代碼沒有什麼明顯的錯誤。

如果你的表沒有這個索引,我建議你嘗試創建它。

ALTER TABLE sgemaildata 
ADD INDEX timequery_dex (event_vc, mbTimestamp_dt, Timestamp) 

這將允許您的查詢完全滿足索引範圍掃描,因此它應該表現良好。

但是要小心,將行插入此表時會產生一些開銷。

評論中有人詢問有關查詢時間和顯示時間的更多信息。如果此查詢的結果集有成千上萬行,則無論您將多少優化添加到查詢中,都需要花費時間來顯示。

+0

是的,通過標題/問題,這聽起來像他們問的顯示時間。但是那些評論提到了索引。由於這些對顯示時間沒有影響,我不確定他們是否感到困惑,或者實際問題與描述不同。但看起來你已經覆蓋了所有的基地:) – Leigh