powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Производительность запроса. Не понимаю связи.
7 сообщений из 7, страница 1 из 1
Производительность запроса. Не понимаю связи.
    #32050292
Фотография AndreK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток всем!

Вот такой запрос, возвращающий 1845 строк:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT SVED.FIO, SVED.DOL, isp_otp.osn, isp_otp.dop, 
    isp_otp.fmp, isp_otp.d_otp, 
    isp_otp.osn + isp_otp.dop + isp_otp.fmp AS vsego, 
    { fn MONTH(isp_otp.d_otp) } AS mes, { fn YEAR(isp_otp.d_otp) 
    } AS god, SVED.UCHAST, SVED.HOMEP, SVED.BRIG, 
    SVED.id_nom, otpusk.d_isp
FROM isp_otp INNER JOIN
    otpusk ON isp_otp.n_zap = otpusk.n_zap INNER JOIN
    SVED ON otpusk.id_nom = SVED.id_nom


Время исполнения около 40 сек. В самой громоздкой табл. SVED 2000 строк. Заинтересовался: "А что так долго?". IndexWizard в QA сказал, что индексы не нужны, тк. либо таблицы размещены менее чем на 10 страницах, либо требуемые индексы уже есть, либо нужен кластерный индекс. Некластерные в самом деле есть. Создал кластерный на isp_otp.n_zap, в следствии чего избавился от сканирования isp_otp. = Никакого КПД - те же 40 сек. Пол-дня убил бесполезно. НО!
Перегрузил свою клиентскую машину, время исполнения стало прим. 15 сек. ???!!! Перегрузил ещё раз =35 сек. Перегрузился =2 сек!!!??? запустил Profile, наблюдаю за Duration... После каждой перезагрузки клинтской машины время исп. запроса сервером может поменяться.

А теперь вопрос:
- Duration в Profile - это время работы сервера , или время выполнения запроса вместе с перекачкой результата по сети или без?
- Как оно (время) зависит от перезагрузки клинта?
- Что и где почитать, посмотреть (DBCC, Events, Filters в Profile..., Statistics NT, SQL...)?

На закуску:
- MSSQL7.0, на серваке никого более нет кроме меня, он ничем более не "занимается" кроме моих экспериментов.
- Я тут Вордовый файл со статистикой сляпал. Желающим могу послать.
...
Рейтинг: 0 / 0
Производительность запроса. Не понимаю связи.
    #32050296
Фотография Слон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариантов 2:

- Сеть
- Клиент.

Надо проверить, как запрос исполняется на самом сервере и на другом клиенте. Может помочь переустановка MDAC

-- Слон
...
Рейтинг: 0 / 0
Производительность запроса. Не понимаю связи.
    #32050302
Bzzzzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да убей оптимизатор и посмотри! Тока в запросе не забудь таблы в правильном порядке выставить....
...
Рейтинг: 0 / 0
Производительность запроса. Не понимаю связи.
    #32050308
av_2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше намыль план исполнения запроса
admin@avtoinvest.ru
...
Рейтинг: 0 / 0
Производительность запроса. Не понимаю связи.
    #32050374
Фотография AndreK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу пардону за задержку. Только повесил вопрос как "дёрнули на другую машину".

-- Слон
Надо проверить, как запрос исполняется на самом сервере и на другом клиенте

На другом клинте (потенциально их у меня 2) творится то же самое. Сервак с такой частотой перегружать зело проблемно, сейчас время исполнения того же самого 25-30 сек.

-- Bzzzzz
Да убей оптимизатор и посмотри! Тока в запросе не забудь таблы в правильном порядке выставить....

Спасибо за идею. Не знаю как делать ни то, ни другое. Полез узнавать

-- ALL
И все-таки "Duration в Profile - это время работы сервера, или время выполнения запроса вместе с перекачкой результата по сети или без?
". Я почему-то был уверен что это чистое время работы сервера, без сети. Как проверить?
...
Рейтинг: 0 / 0
Производительность запроса. Не понимаю связи.
    #32050415
Bzzzzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если сервер не основательно загружен. Пусть выборка производится во временную таблу. Путем сравнения результатов запроса с выводом из темповой таблы и без оного - реально проверить. ИМХО.
...
Рейтинг: 0 / 0
Производительность запроса. Не понимаю связи.
    #32050428
Bzzzzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если я прально понял суть таблиц - самый скоростной вариант:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
set forceplan on
SELECT s.FIO,
       s.DOL,
       i.osn,
       i.dop, 
       i.fmp,
       i.d_otp, 
       i.osn + i.dop + i.fmp AS vsego, 
       { fn MONTH(i.d_otp) } AS mes, 
       { fn YEAR(i.d_otp)  } AS god, 
       s.UCHAST,
       s.HOMEP,
       s.BRIG, 
       s.id_nom,
       o.d_isp

      FROM SVED    s 
INNER JOIN otpusk  o (index имя) ON o.id_nom = s.id_nom
INNER JOIN isp_otp i (index имя) ON i.n_zap  = o.n_zap 
set forceplan off
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Производительность запроса. Не понимаю связи.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]