2012-07-13 101 views
2

我正在使用ColdFusion 8並使用SELECT Count(dog)作爲內容構建查詢。這在一個頁面上工作正常,但是當我使用它時,更改參數當然,它使我的服務器陷入困境。我需要的只是計算db表中的項目,返回多少隻狗,貓,羊等,並顯示計數和名稱。第一次使用SELECT計數,但這一次似乎無法使其工作。有沒有辦法通過不使用Count()來做同樣的事情?忘了提我使用的是舊的Sybase數據庫...ColdFusion 8查詢問題

+0

我認爲我們(或者至少是我)錯過了一些需要了解的信息:你能描述一下你的桌子嗎?是狗,貓等...來自一列的價值觀?你說它讓你的服務器陷入困境......你是什麼意思?你必須重新啓動CF服務器,否則你得到一個錯誤? – 2012-07-13 07:23:50

+0

colum佈局是colum 1「dogs」colum 2「cats」等。它會運行高達90秒,並推動GC限制,如果我讓應用程序運行我得到一個提醒,查詢運行時間超出預期我想要停止查詢...現在,Colum「狗」包含「bull」,「shepard」等,我需要計算在Colum中有多少種類型的狗,多少隻貓等。 – 2012-07-13 08:03:06

+0

向我們顯示您的查詢。 – duncan 2012-07-13 08:06:13

回答

0

不能你下面......

<cfquery name="getpetstuff" datasource="mydatabase" timeout="30"> 
Select dogs, count(*) as mycount 
    from allpets 
group by dogs 
</cfquery> 
+0

沒有快樂同樣的回報 – 2012-07-13 11:14:47

+0

有沒有一種方法可以在沒有選擇計數的情況下返回查詢並獲得相同的結果? – 2012-07-13 11:17:59

+0

沒什麼我能想到的。 30秒是否超時?也許你在該表上有索引問題。嘗試先訂購,看看它是否會改善它:通過狗添加訂單 – 2012-07-13 12:06:52

0

添加索引表將解決MS-SQL其中有許多性能問題它源於Sybase。

嘗試在allpets表中添加一個只包含狗的索引。

+0

不幸的是,我已經問了數據庫管理員關於這一點,他們不理我......我希望他們會索引,因爲數據庫運行速度比它應該慢。感謝您的建議,我會繼續擠壓! – 2012-07-14 08:45:34