2013-03-04 26 views
1

在salesforce中,我有一個自定義對象,將來可能有數百萬個記錄。我正在使用apex和visualforce開發儀表板,因此我需要在單個查詢中一次訪問所有記錄。 查詢是:[select count(custom_cases__C), status__c from custom_case__C group by status__c]訪問SOQL中的大量記錄

因此,它一次訪問所有記錄,超過了政府的限制。

我該怎麼做才能做到這一點?

請爲我提供解決方案,如果可能,請提供示例,因爲我是salesforce新手。

回答

3

銷售人員將聚合函數計算的結果不是1,而是作爲聚集的行數,這是令人遺憾的。這意味着如果你有超過50000的結果,你會得到一個錯誤(超過了SOBject查詢行,在這一行)

有一個Idea爲此,請upvote!

我目前看到的唯一可行的解​​決方案是(也是我自己使用的解決方案)是程序並計劃運行Apex Batch Job,並將結果保存到新的自定義對象中。然後使用該自定義對象作爲儀表板的來源。

+0

我不認爲這個想法將永遠得到落實。 50000結果是一個計算限制,檢索記錄的問題幾乎與彙總它們的問題相同。 – Acuariano 2013-03-05 12:27:51

+0

爲什麼要將記錄存儲在另一個自定義對象中?如果他已經將它們存儲在一個對象中?那會有什麼不同? – 2013-03-07 14:40:20

+0

,因爲您希望將彙總數據存儲在另一個sobject中或當前對象的字段中。但問題是,一旦您嘗試查詢超過50k個記錄,您將收到一個異常,無論您是僅查詢它們以在列表中使用還是嘗試將它們聚合。如果您使用批量作業,則可以避開限制。 – pjcarly 2013-03-07 20:50:24