Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Performance для Select в StoredProcedures  [new]
grigig
Member

Откуда:
Сообщений: 3
Вопрос такой: как лучше писать запрос в хранимой процедуре, в виде
Select *
или в виде
Select ColumnName1, ColumnName2, ... <все столбцы>

Конечно, с точки зрения удобства программиста, Select * куда лучше :) Но вот с точки зрения скорости выполнения скомпилированной процедуры, частоты ее автоматической перекомпиляции и других показателей работы SQL-сервера?
Единственное, что мне удалось найти по этому вопросу - это http://support.microsoft.com/kb/243586/EN-US/, где сказано, что

To avoid excessive recompilations, SQL Server does not consider recompiling
"trivial plans" (such as a select * from a table) due to row modifications.

Однако опять же, внятного ответа на свой вопрос я не увидел :(
19 дек 04, 10:56    [1191576]     Ответить | Цитировать Сообщить модератору
 Re: Performance для Select в StoredProcedures  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Лучше всего писать
select только_те_столбцы_что_нужны
19 дек 04, 14:08    [1191672]     Ответить | Цитировать Сообщить модератору
 Re: Performance для Select в StoredProcedures  [new]
grigig
Member

Откуда:
Сообщений: 3
Разумеется, но мне нужны именно все столбцы.
19 дек 04, 14:13    [1191675]     Ответить | Цитировать Сообщить модератору
 Re: Performance для Select в StoredProcedures  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
grigig
Разумеется, но мне нужны именно все столбцы.

Лучше списком. После изменения структуры таблицы, может оказаться, что они нужны не все.
19 дек 04, 14:22    [1191688]     Ответить | Цитировать Сообщить модератору
 Re: Performance для Select в StoredProcedures  [new]
grigig
Member

Откуда:
Сообщений: 3
Структура таблицы будет меняться крайне редко, максимум пару раз в год.
А вот insert/update/delete будут происходить несколько сот (возможно, тысяч) раз в час. Выборка тоже примерно с такой же частотой. Поэтому я и пытаюсь понять, как лучше писать SPR для выборки.
19 дек 04, 14:33    [1191695]     Ответить | Цитировать Сообщить модератору
 Re: Performance для Select в StoredProcedures  [new]
sraider
Member

Откуда:
Сообщений: 325
grigig
Вопрос такой: как лучше писать запрос в хранимой процедуре, в виде
Select *
или в виде
Select ColumnName1, ColumnName2, ... <все столбцы>


Компилируется первая конструкция дольше. А исполняются они одинаково по времени. Пиши как удобнее.
20 дек 04, 12:16    [1192897]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить