SOQL-запрос занимает больше времени для выполнения из C#
У меня есть этот запрос для проверки существующих контактов в Salesforce
string queryString="select Id from Contact where Applicant_Email__c = 'testuser78@mailinator.com' or email = 'testuser78@mailinator.com' or Secondary_Email__c = 'testuser78@mailinator.com' or Third_Email__c = 'testuser78@mailinator.com' or Fourth_Email__c = 'testuser78@mailinator.com'";
QueryResult qr = null;
try
{
qr = binding.query(queryString);
}
но этот запрос занимает много времени для выполнения, есть ли способ оптимизировать этот запрос и сделать быстрее?
1 ответ
Есть несколько вещей, которые вы должны рассмотреть здесь:
- Сколько записей вы получите обратно?
- Сколько времени занимает тот же запрос в консоли разработчика?
- Какова избирательность запроса SOQL?
Эти пункты могут направить вас к проблеме. Например, если тот же запрос выполняется быстро в консоли разработчика и возвращает большое количество записей, проблема, скорее всего, заключается в том, что в ответе SOAP не используется сжатие. См. Сжатие SOAP
Если избирательность запроса низкая, вам следует посмотреть на добавление индексов или переработку запроса. См. Раздел "Выбор SOQL-запроса".
Кстати, http://salesforce.stackexchange.com/ - отличное место, чтобы задать Salesforce конкретные вопросы.