0

Я знаю, что ответ «это зависит». Я нахожусь с некоторыми операциями, которые устраняют загрузку на самом деле, фактически повышают производительность, как на моем LM, так и на AppHarbor (еще не протестированном на Azure).Когда лучше использовать лёгкую загрузку вместо загруженной загрузки с помощью EF 4.1 DbContext (+ SQL 2008 R2)?

В случаях, которые я пробовал до сих пор, корневой объект не запрашивается его первичным ключом. Первичный ключ - это int, но эти запросы идут против клавиш-кандидатов Guid, чтобы обфускать int pk из URL. У меня нет ключа или индекса в Guid, единственным ключом (кроме fk) является int pk, и он кластеризуется.

Мощная загрузка будет быстрее с некластеризованным индексом на ключ-кандидат Guid?

ответ

0

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

Кроме того, обратите внимание на эти две статьи по этой теме, написанной Джули Lermann:

http://msdn.microsoft.com/en-us/magazine/hh205756.aspx

http://msdn.microsoft.com/en-us/magazine/gg309181.aspx