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

Откуда:
Сообщений: 53
Есть ASP.NET приложение, в коде собираю динамический запрос. В нем заполняется временная таблица, после чего ее содержимое выдается клиенту с заданной сортировкой. Делается обычный SELECT * FROM #OUTPUT O ORDER BY [Выбранная колонка].
Profiler показывает (поле duration), что заполнение таблицы занимает порядка 3 сек, а окончательный SELECT таблицы уже 30 сек.
Причем если делать отладку сайта на собственном компе, то из сайта уже 17 сек, а если в QA, то уменьшается до 8 cек.
Как такое может быть?
17 авг 11, 16:01    [11134201]     Ответить | Цитировать Сообщить модератору
 Re: Медленная выборка из временной таблицы  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Сколько колонок в #OUTPUT, сколько записей?
Какие индексы?
17 авг 11, 16:23    [11134326]     Ответить | Цитировать Сообщить модератору
 Re: Медленная выборка из временной таблицы  [new]
iljy
Member

Откуда:
Сообщений: 8711
MildLimit,

тривиально: время выполнения SELECT включает время получения данных клиентом. Не верите - выполните
SELECT * INTO #OUTPUT2 FROM #OUTPUT O ORDER BY [Выбранная колонка].
17 авг 11, 16:40    [11134464]     Ответить | Цитировать Сообщить модератору
 Re: Медленная выборка из временной таблицы  [new]
MildLimit
Member

Откуда:
Сообщений: 53
Колонок 44, строк более 1200. Построение таблицы идет достаточно быстро, только окончательная выборка хромает.
Можно ли это ускорить?
18 авг 11, 09:45    [11137265]     Ответить | Цитировать Сообщить модератору
 Re: Медленная выборка из временной таблицы  [new]
MildLimit
Member

Откуда:
Сообщений: 53
2 iljy
Да, действительно, вставка в #OUTPUT2 показывает duration = 125, а окончательная выборка 11125. Возможно ли оптимизировать?
18 авг 11, 09:57    [11137353]     Ответить | Цитировать Сообщить модератору
 Re: Медленная выборка из временной таблицы  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
MildLimit,

А вы уверены, что исключили время доставки клиенту? Попробуйте сделать вместо select из той таблицы, select into, как посоветовал iljy, посмотрите, какое время покажет профайлер.
Интересно, что ж там за содержимое такое, если 1200 строк полминуты выбирается.
18 авг 11, 09:57    [11137355]     Ответить | Цитировать Сообщить модератору
 Re: Медленная выборка из временной таблицы  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
SomewhereSomehow
MildLimit,

А вы уверены, что исключили время доставки клиенту? Попробуйте сделать вместо select из той таблицы, select into, как посоветовал iljy, посмотрите, какое время покажет профайлер.
Интересно, что ж там за содержимое такое, если 1200 строк полминуты выбирается.
Может, там BLOBы какие-нибудь гигабайтные
18 авг 11, 10:02    [11137383]     Ответить | Цитировать Сообщить модератору
 Re: Медленная выборка из временной таблицы  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
iap,

ну вот я и спрашиваю, судя по всему оптимизировать там надо что другое, запрос ни при чем.
18 авг 11, 10:07    [11137412]     Ответить | Цитировать Сообщить модератору
 Re: Медленная выборка из временной таблицы  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
SomewhereSomehow
iap,

ну вот я и спрашиваю, судя по всему оптимизировать там надо что другое, запрос ни при чем.
Отказываться от "*" надо.
Вот и вся оптимизация.
18 авг 11, 10:09    [11137426]     Ответить | Цитировать Сообщить модератору
 Re: Медленная выборка из временной таблицы  [new]
iljy
Member

Откуда:
Сообщений: 8711
MildLimit
2 iljy
Да, действительно, вставка в #OUTPUT2 показывает duration = 125, а окончательная выборка 11125. Возможно ли оптимизировать?

Что оптимизировать-то? Время доставки? Уменьшайте количество передаваемых данных (как iap сказал), увеличивайте пропускную способность сети, в конце концов может сам клиент тормозит при получении. Сервер тут уже не при чем.
18 авг 11, 10:12    [11137457]     Ответить | Цитировать Сообщить модератору
 Re: Медленная выборка из временной таблицы  [new]
MildLimit
Member

Откуда:
Сообщений: 53
Вопрос снимается, SQL сервер и вправду нипричем. Работает отлично, надо клиента оптимизировать.
18 авг 11, 10:23    [11137524]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить