Медленное лямбда-выражение - PullRequest
1 голос
/ 28 января 2012

Кто-нибудь может дать мне какие-нибудь советы о том, как сделать это немного быстрее?

return mb_entities.prospects.
         FirstOrDefault(x => x.address == person.Add &&
                x.homePhone == person.HPhone &&
                x.bizPhone == person.BPhone && 
                x.cellPhone == person.CPhone &&
                x.city == person.City &&
                x.state == person.State && 
                x.zip == person.Zip &&
                x.email == person.Email &&
                x.firstName == person.FName &&
                x.lastName == person.LName &&
                x.middleName == person.MName &&
                x.genCode == person.GC) ?? new prospect();

Сейчас он работает между 160 и 180 миллисекундами.Это было бы хорошо, если бы мне не пришлось делать это 1000 раз.

Любые советы будут с благодарностью.Спасибо!

1 Ответ

7 голосов
/ 28 января 2012

Создайте индекс по самым выборочным столбцам (например, по электронной почте, почтовому индексу и фамилии).Это ускорит это.Это должен быть один индекс для нескольких столбцов.

В вашей таблице должно быть много записей, для выполнения которых требуется 160 мс.Это необычно долго, даже если индекс отсутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...