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

Откуда:
Сообщений: 22
Хотелось бы узнать Ваше мнение насчет того, какой вариант предпочтительнее в плане нагрузки на сервер.
mssql2008 [table] большая и жирная, строк порядка 30M

первый вариант это простой
select * from [table]

второй вариант
select top 100 * from [table] where [id]>@last_id
--далее берется последняя строка и в last_id заносится значение [id]
14 окт 12, 18:04    [13316069]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по нагрузке на сервер  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31948
kabee
Хотелось бы узнать Ваше мнение насчет того, какой вариант предпочтительнее в плане нагрузки на сервер.
В смысле, нужно получить все данные из таблицы, порциями по 100 строк или за один раз?

В принципе зависит от клиентского приложения, но ИМХО лучше за один раз.
14 окт 12, 20:06    [13316350]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по нагрузке на сервер  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31948
alexeyvg
В принципе зависит от клиентского приложения, но ИМХО лучше за один раз.
То есть для сервера-то безусловно первый вариант легче, сомнения могут только для кривых библиотек доступа.
14 окт 12, 20:08    [13316354]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по нагрузке на сервер  [new]
kabee
Member

Откуда:
Сообщений: 22
alexeyvg, да, нужно получить все данные из таблицы.
грубо говоря, запрос select * длится минуты 2. в этот момент другим пользователям с сервером тяжеловато общаться.
поможет ли в этом случае мой вариант номер 2 ( цикличный запуск по top 100 * ) ?
14 окт 12, 20:52    [13316441]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по нагрузке на сервер  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31948
kabee
грубо говоря, запрос select * длится минуты 2. в этот момент другим пользователям с сервером тяжеловато общаться.
поможет ли в этом случае мой вариант номер 2 ( цикличный запуск по top 100 * ) ?
Если второй вариант делается не в общей транзакции, то елостность тут не соблюдается. Тогда можно делать одним запросом с nolock
14 окт 12, 21:19    [13316484]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по нагрузке на сервер  [new]
.Anatoly.
Member

Откуда: Екатеринбург
Сообщений: 310
kabee, раз данных так много, скорее всего вы выгружаете их в другую систему, тогда может стоит посмотреть в сторону bcp?
15 окт 12, 12:50    [13319291]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить