|
Модераторы: Akina |
|
Pankon |
|
|||
Опытный Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: нет Всего: 5 |
Что работает быстрее?
Stored procedure или View для запроса с Join .... Это сообщение отредактировал(а) Pankon - 23.7.2007, 23:02 |
|||
|
||||
Oberon83 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 158 Регистрация: 6.5.2005 Где: Республика Чуваши я Репутация: нет Всего: 1 |
Stored procedure быстрее, поскольку при первом выполнений сервер компилирует хранимку для ускорения запуска.
Но со Stored procedure нельзя работать как с View, смотри сам как тебе удобнее. --------------------
OpenArea.ru |
|||
|
||||
ivashkanet |
|
|||
Кодю потиху Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
Oberon83, а что мешает SQL серверу скомпилить и сохранить View при первом вызове?
Или у тебя есть проверенная информация, что View не хранится скомпилированном виде? |
|||
|
||||
SergeBS |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 5 Всего: 22 |
View - это та же хранимка, только хранится всегда на сервере. Делаем выводы
|
|||
|
||||
ne_ass |
|
|||
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 2.8.2007 Репутация: нет Всего: нет |
а разве представление ето хранимая проц, а не динамический запрос???
|
|||
|
||||
ivashkanet |
|
|||
Кодю потиху Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
||||
|
||||
ne_ass |
|
|||
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 2.8.2007 Репутация: нет Всего: нет |
"View - это та же хранимка, только хранится всегда на сервере. Делаем выводы "
вопрос в том, что ето на самом деле, я все время пологал что ето динамический запрос? И кстати что быстрее select или Stored Proc c select?? |
|||
|
||||
SergKO |
|
||||||
Бывалый Профиль Группа: Участник Сообщений: 231 Регистрация: 14.3.2005 Репутация: 17 Всего: 20 |
Представление - это виртуальная таблица, т.е. в любом случае Вы вынуждены формировать текст запроса к ней либо в той-же процедуре, либо на клиенте. В последнем случае возможны варианты:
1. Выборку по всему представлению
накладные расходы будут больше, чем при обращении к хранимой процедуре. И еще возможность SQL Injection, т.е. атаки, при которой опасный код передается в SQL server. Например
2. Другой вариант - параметризованный запрос (в профайлере его увидите как execute sp_executesql 'текст запроса спараметрами', параметры). Он откомпилируется один раз, разместиться в кэше и будет использоваться при последующих вызовах (как и процедура). Т.е. можно добиться примерно одинаковой скорости выполнения. Как мне кажется, в данном случае не стоит сравнивать скорости. При сравнении процедур и запросов, формируемых на клиенте, надо рассматривать другие вопросы. Использование хранимых процедур дает дополнительную защищенность БД, придает дополнительную гибкость, т.к. при изменении бизнес-логики достаточно изменить текст процедуры, не изменяя клиентское приложение. |
||||||
|
|||||||
Правила форума "MS SQL" | |
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS SQL Server | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |