2012-07-28 17 views
0

我們正在執行一個查詢:上的查詢次數克服SOQL限制導致

SELECT Id, SomeField FROM SomeTable 

我們在SomeTable超過80,000項,但只有2000項回來過

SELECT Id, SomeField FROM SomeTable LIMIT 100000 

什麼都不做解決問題。

克服此限制的最佳方法是什麼?使用for循環?使用PHP REST API的語法是什麼?

回答

0

您可以使用SOQL For loops來管理它。根據文檔:

SOQL for loops通過調用SOAP API的查詢和queryMore方法使用高效分塊來檢索所有sObjects。開發人員應始終使用SOQL for循環來處理返回許多記錄的查詢結果,以避免堆大小的限制。

希望這會有所幫助!

Anup

+0

輝煌。你碰巧知道構建和返回數組到PHP客戶端的語法嗎? – Brooks 2012-07-30 15:06:26

+0

我的答案中的鏈接有一個很好的例子來證明這一點。 – Anup 2012-07-31 11:51:43

+0

看看你的鏈接,除非我錯過了某些東西(可能是),我沒有看到有關如何指定返回數組的任何內容。我也看不到for循環是否必須修改查詢OFFSET,或者只是說'SELECT fieldList FROM objectType'就足夠了。如果你不介意提供一個簡單的例子,那將是非常值得讚賞的,我肯定會爲我自己(和未來的讀者)節省大量的Salesforce文檔。謝謝。 – Brooks 2012-07-31 15:28:37