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

Откуда:
Сообщений: 163
Есть некий элементарный запрос с условиями
SELECT     ПланФакт, Раздел, Дата, Валюта, КодСтатьи, Сумма, Статья, ПериодОПУ, BE, КодГруппыАкс, ГруппаАкс, НомГрОПУ, ГруппаОПУ, YEAR(Дата) as Год, Month(Дата) as Мес, СуммаР, СуммаД
FROM dbo.V_D WHERE  (BE = 'inr') AND (Дата >=  '2012-04-01')
В среде Managment Studio на удаленном ПК выдает все 50тыс записей за 2(!) секунды.
Теперь копируем этот запрос в Excel 2010 в Подключения к внешним данным. Пытаемся вставить данные на лист. Сидим ждем порядка минуты! Наблюдение за индикаторами показывает, что нагрузка на процессор и интерфейс - нулевая. Только в самом конце загрузка интерфейса подпрыгивает и появляются данные в Excel.
Пробовал менять подключения: ODBC (SQL Server, SQL Server Native client), OLE. Без толку, все то же самое.
Кто-нибудь сталкивался с таким или есть у кого-то предположения насчет причин такой большой задержки?
24 июл 14, 18:24    [16353752]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
Владислав Колосов
Member

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

Посмотрите профайлером что да как.
24 июл 14, 18:39    [16353817]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
А не легче поместить эти данные в таблицу, чтобы Excel обращался к данной таблице?
24 июл 14, 18:45    [16353838]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
serg0265
Member

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

На все случаи жизни (на немного видоизмененные запросы) таблиц не напасешься.
24 июл 14, 19:09    [16353936]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
_human
Member

Откуда:
Сообщений: 560
serg0265,
давно как-то тоже с таким сталкивался. если открыть новый лист и запустить скрипт, то быстро отработает. если повторно запустить тот же скрипт, то виснет.
24 июл 14, 20:47    [16354336]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
ПаWWWлОдАрЕц
Member

Откуда: NSK-PVL
Сообщений: 135
serg0265
50тыс записей за 2(!) секунды

А вы уверены что Managment Studio прямо таки тащит все эти записи? Может он отображает какойнить TOP N записей, а остальные подтягивает по мере их надобности (скролла). А вот эксель тащит их все, похоже.
В любом случае для прояснения ситуации помогает Execute plan и Profiler.
25 июл 14, 07:03    [16355473]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
serg0265
Member

Откуда:
Сообщений: 163
ПаWWWлОдАрЕц,

Уверен. Команда ТОР отсутствует. И потом по-умолчанию ТОР включается со значением 1000. А я в начале написал, что выдает 50тыс. записей.
+Появляется в статусной строке общее число записей (а не 0) и полная статистика клиента в закладке.
25 июл 14, 11:35    [16356418]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
serg0265
Member

Откуда:
Сообщений: 163
Владислав Колосов,

Пока не имею возможности посмотреть профайлером, т.к. админы не дают соответствующих отладочных прав. Может дадут таки копию и в выходные разверну.
Может дадите направление как в профайлере быстро выудить нужную информацию?
25 июл 14, 11:37    [16356439]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Настройте фильтр на нужный логин и смотрите всё подряд что происходит. Я не знаю, как работает Excel с сервером.
25 июл 14, 11:43    [16356488]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
serg0265
Member

Откуда:
Сообщений: 163
БРЕД, но быстрее получается копировать данные из Менеджмент студио в Эксель с копи-пастом всех записей, всего около 10 сек с "ручной работой". :(
25 июл 14, 12:29    [16356819]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Попробовал у себя в 2003 - всё быстро, никаких проблем.
25 июл 14, 12:41    [16356902]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
Alibek B.
Member

Откуда:
Сообщений: 3646
serg0265
Уверен. Команда ТОР отсутствует.

Как можно быть уверенным в том, в чем ошибаешься?
Отсутствие TOP ни о чем не говорит.
В гриде курсор серверный и записи подгружает по мере надобности.
Перейди на последнюю запись и засеки «2 секунды».
25 июл 14, 12:47    [16356944]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
serg0265
Member

Откуда:
Сообщений: 163
Alibek B.,

Все именно так, как я написал. Нажимаю перейти на последнюю запись и тут же оказываюсь в ней без всяких задержек.
25 июл 14, 13:04    [16357098]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
serg0265
Member

Откуда:
Сообщений: 163
Владислав Колосов,
Вот я и пытаюсь выяснить конкретную причину в случае моих данных. Пока предполагаю некое неведомое мне преобразование (может быть типов, кодировок и т.д.) на стороне сервера.
Для информации: запрос из VS 2010 тоже работает около минуты :(
25 июл 14, 13:08    [16357130]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2995
автор
на удаленном ПК выдает все 50тыс записей за 2(!) секунды.
...
запрос в Excel 2010 в Подключения к внешним данным
...
запрос из VS 2010 тоже работает около минуты :(


serg0265, а время на перекачку данных по сети учитываете? Может у Вас там 1000 полей с типом varchar(max)
25 июл 14, 13:14    [16357177]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2995
serg0265, для проверки замените вывод полей на count(*)
25 июл 14, 13:15    [16357179]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
serg0265
Member

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

1. Не в этом дело. Менеджмент Студио тоже работает по сети на моем ПК, а не удаленно на сервере. И в нем все появляется за 2 сек.
2. count(*) в МенеджСт - 1 сек
25 июл 14, 13:19    [16357206]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
serg0265,
профайлер вам в руки и смотрите что конкретно идет на сервер.
25 июл 14, 13:23    [16357228]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
serg0265
Member

Откуда:
Сообщений: 163
Maxx,
Да вот жду от админов бэкап.
Уже даже паранойя, такое ощущение, что сервер избирательно относиться "свой-чужой" :(... Или диверсия.
25 июл 14, 13:29    [16357280]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
serg0265
Maxx,
Да вот жду от админов бэкап.
Уже даже паранойя, такое ощущение, что сервер избирательно относиться "свой-чужой" :(... Или диверсия.

ето параноя ) Зачем вам бекап если нужен профалйер то ?
25 июл 14, 13:31    [16357289]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
_human
Member

Откуда:
Сообщений: 560
может дело в поиске плана выполнения.
т.е. при выполнении в excel выбирается другой план..
такое может быть ?
25 июл 14, 13:38    [16357337]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
serg0265
Member

Откуда:
Сообщений: 163
_human,
Не знаю. Можно поподробнее, как это выяснить или как проверить другой план?
25 июл 14, 13:41    [16357364]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
serg0265
Member

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

Цитирую мой более ранний ответ:
автор
Пока не имею возможности посмотреть профайлером, т.к. админы не дают соответствующих отладочных прав. Может дадут таки копию и в выходные разверну.
25 июл 14, 13:44    [16357388]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
serg0265
Member

Откуда:
Сообщений: 163
Maxx,
Имеется ввиду, что тогда:
1. У меня будет неограниченный доступ к собственной БД на собственном ПК
2. Посмотрю, есть ли такое явление на абсолютно другой платформе
25 июл 14, 13:48    [16357417]     Ответить | Цитировать Сообщить модератору
 Re: SELECT на сервере и от клиента  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2995
serg0265, проверьте SETы, бывает влияет на план
25 июл 14, 14:53    [16358018]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить