2015-10-07 65 views
1

我有此查詢檢查對Salesforce的SOQL查詢到更多的時間來執行從C#

string queryString="select Id from Contact where Applicant_Email__c = '[email protected]' or email = '[email protected]' or Secondary_Email__c = '[email protected]' or Third_Email__c = '[email protected]' or Fourth_Email__c = '[email protected]'"; 

QueryResult qr = null; 
     try 
     { 
      qr = binding.query(queryString); 
     } 

現有的接觸,但該查詢花費很長的時間來執行,有沒有什麼辦法來優化這個查詢,使更快?

+0

*此查詢花費很長時間執行* define long time? – Izzy

+0

@lzzy長時間 - 超過60秒才能返回結果 –

+0

首先,你是如何看待quert而不是你的代碼中需要時間的東西?如果真的是查詢,需要多少時間?你能告訴我們聯繫表的結構嗎? Contact表中的主鍵是什麼?該表上是否有任何聚集索引或非聚集索引? – Viru

回答

0

有你需要在這裏考慮的幾件事情:

  1. 多少條記錄你找回?
  2. 同一個查詢在開發者控制檯中佔用了多長時間?
  3. SOQL查詢的選擇性是什麼?

這些問題可以指導您解決問題。例如,如果在開發人員控制檯中相同的查詢速度很快並且正在返回大量記錄,那麼問題很可能不是在SOAP響應中使用壓縮。請參閱SOAP Compression

如果查詢的選擇性很差,那麼您應該考慮添加索引或重新查詢查詢。見Make SOQL query selective

順便提一下,Salesforce StackExchange是向Salesforce提出特定問題的好地方。