Запрос Salesforce занимает слишком много времени, чтобы вернуть результат

Использование Devart dotConnect для Salesforce 3.3.696;

У меня есть простой вызов метода ниже. Он передает номер займа в возможность и возвращает идентификатор возможности. В таблице Opportunity содержится более 99 000 записей, поэтому не так много, но выполнение этого процесса занимает почти 7 минут. Почему долгое время? Это неприемлемо, когда я ежедневно обрабатываю сотни записей в своем приложении. Я попытался перейти прямо к контексту (метод 1), а не использовать репозиторий (метод 2), но результаты были незначительными по времени отклика. Я запускал это против Full Sandbox и Production с одинаковыми плохими результатами.

Loan, является строковым типом данных, он был задан как ExternalId и помечен как уникальный, поэтому они автоматически индексируются в таблице SalesForce.

Salesforce Workbench возвращает запись за доли секунды.

Любая помощь будет оценена.

private string GetRelatedOpportunity(string loanNumber)
{
    //Method 1  
    EFSalesforceContext efc = new EFSalesforceContext();
    var item = efc.Opportunities.FirstOrDefault(x => x.Loan == loanNumber);
    return item?.Id;

    //Method 2
    //return loanNumber == null
    //    ? string.Empty
    //    : _sfOpportunityRepository.Find(x => x.Loan == loanNumber).FirstOrDefault()?.Id;
}

0 ответов

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