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 ответ

Есть несколько вещей, которые вы должны рассмотреть здесь:

  1. Сколько записей вы получите обратно?
  2. Сколько времени занимает тот же запрос в консоли разработчика?
  3. Какова избирательность запроса SOQL?

Эти пункты могут направить вас к проблеме. Например, если тот же запрос выполняется быстро в консоли разработчика и возвращает большое количество записей, проблема, скорее всего, заключается в том, что в ответе SOAP не используется сжатие. См. Сжатие SOAP

Если избирательность запроса низкая, вам следует посмотреть на добавление индексов или переработку запроса. См. Раздел "Выбор SOQL-запроса".

Кстати, http://salesforce.stackexchange.com/ - отличное место, чтобы задать Salesforce конкретные вопросы.

Другие вопросы по тегам