Производительность по объединениям в linq - PullRequest
1 голос
/ 07 июня 2010

HI,

Я собираюсь переписать процедуру сохранения в LINQ.

То, что делает этот sp, объединяет 12 таблиц, получает данные и вставляет их в другую таблицу.

у него 7 левых внешних объединений и 4 внутренних соединения. И возвращает одну строку данных.

Теперь вопрос. 1) Каков наилучший способ добиться этого присоединяется в linq. 2) Как вы думаете, это влияет на производительность (это только получение одной строки данных в данный момент времени)

Пожалуйста, совет.

Спасибо SNA.

1 Ответ

0 голосов
/ 07 июня 2010

Возможно, вы захотите проверить этот вопрос для нескольких объединений.Я обычно предпочитаю лямбда-синтаксис, но YMMV.

Что касается производительности: я сомневаюсь, что это повлияет на производительность самого запроса, но при определении плана выполнения могут возникнуть некоторые накладные расходы, поскольку это такой сложный запрос.Вероятнее всего, наибольшим ударом по производительности будет дополнительная обходная база данных по сравнению с хранимой процедурой.Если я вас правильно понимаю, ваш текущий SP делает SELECT AND INSERT одновременно.Используя LINQ to SQL или LINQ to Entities, вам нужно будет сначала извлечь данные, прежде чем вы действительно сможете записать их в другую таблицу.

Таким образом, от перезаписи зависит необходимость использования.Кроме того, вы можете добавить хранимые процедуры в вашу модель данных.Он будет представлен как метод в контексте ваших данных.

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