Linq to SQL - Представления против хранимых процедур - PullRequest
2 голосов
/ 07 апреля 2011

Я хотел бы знать, когда я использую L2S в приложении и получаю данные из нескольких таблиц, какую из них отдать предпочтение процедуре sql (выберите ... объединить таблицы) или просмотреть sql (выбрать ... объединить таблицы).

Спасибо / Йогеш

Ответы [ 2 ]

7 голосов
/ 07 апреля 2011

Вы должны понимать, что сравнение sprocs с представлениями не очень хорошее / честное сравнение. Они делают разные вещи. Это два совершенно разных типа объектов.

Если вам нужны только данные и все, что вы делаете, это какие-то объединения, то используйте представления. Если вы пишете дополнительный код и имеете дело с параметрами / несколькими операторами, используйте sproc. Помните, что внутри хранимой процедуры вы все равно можете ссылаться на представление ... поэтому могут быть случаи, когда вы используете оба!

Многим людям нравится создавать единое представление данных, содержащее множество объединений и фильтр (предложение WHERE). Затем они используют это представление в хранимой процедуре для обеспечения дополнительной фильтрации на основе переданных параметров. Другие любят явно присоединяться к таблицам в хранимой процедуре.

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

3 голосов
/ 07 апреля 2011

Важное различие между представлениями и хранимыми процедурами.Помимо стандартов / производительности, это то, что должно руководствоваться вашим выбором.Вы получаете данные из нескольких таблиц.Вы всегда получаете одни и те же данные?Если это так, пойти с целью.Получаете ли вы разные данные в зависимости от параметров?Перейти к сохраненному процессу.

Это слишком упрощенный анализ, но с информацией, которая у нас есть, я думаю, что она так же хороша, как и получит ...

Есть много статей в Интернете, которыеможет помочь вам сделать свой выбор Здесь является примером

Эта статья дает много полезной информации о влиянии на производительность выбора между представлениями / сохраненными процессами.

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