powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Странное поведение сервера при попытке оптимизации
15 сообщений из 40, страница 2 из 2
Странное поведение сервера при попытке оптимизации
    #39925873
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Резюме такое - совсем без индекса работает менее чем за 2 минуты на более слабом сервере, чем с кластерным на мощном сервере (9 минут).
Замеры из одной студии, с одного сетевого соединения.
msLex - оказался прав!
Респект и уважуха.
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39925890
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,

обычно наоборот - просмотр кластерного выгоднее адресации через IAM.
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39925892
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008
совсем без индекса работает менее чем за 2 минуты на более слабом сервере, чем с кластерным на мощном сервере (9 минут).

совершенно бессмысленно сравнивать скорость выполнения запросов на двух разных серверах под разной нагрузкой
даже на одном сервере без посторонней нагрузки это проблематично из-за "кеширования" данных
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39925976
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
пропущено...

а с чего вы вязли, что так будет лучше?

А почему кластерный индекс, он же PK, может быть хуже чем его отсутствие?

Плохо продумали кластерный индекс, в таблице было много вставок и удалений, он стал разреженным.
Это привело к тому что количество операций чтения из медленной памяти увеличилось пропорционально тому, насколько разрежен индекс.
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39925980
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
SQL2008
совсем без индекса работает менее чем за 2 минуты на более слабом сервере, чем с кластерным на мощном сервере (9 минут).

совершенно бессмысленно сравнивать скорость выполнения запросов на двух разных серверах под разной нагрузкой
даже на одном сервере без посторонней нагрузки это проблематично из-за "кеширования" данных

Полностью согласен.
+ ещё если делать без понимания, то можно криво сделать кластерный индекс и он не будет давать прироста в производительности.
Например, сделали кластерный индекс по нескольким полям, а первый столбце кластеризованного индекса в запросе не указали или указали криво - считайте, что никакого индекса в этом случае у вас нет.

Есть ещё одна частая ошибка при работе с индексами.
Например, индекс по полю "День_рождения" типа datetime, а в запросе сделали так: YEAR(День_рождения) - в этом случае индекс тоже не будет использоваться (практически во всех случаях применение функции поверх поля с индексом убирает использование индекса в плане запроса. Есть конечно исключения, но о них долго рассказывать).
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39926033
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Бердышев
Плохо продумали кластерный индекс, в таблице было много вставок и удалений, он стал разреженным.

После установки индекса ничего не добавлялось, не удалялось, не обновлялось.
Дефрагментация индекса была сотые доли процента.
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39926036
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Факт остается фактом - индекс только мешал, без него запрос выполняется в три раза быстрее.
3 минуты вместо 9-ти
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39926049
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008,

Все может быть еще проще. У Вас сложный запрос (15+ таблиц). Сервер просто не успевает найти хороший план. И Вы ему еще параметров подкинули в виде индексов.
Попробуйте запустить ваш запрос без ограничения по времени формирования плана и посмотрите, что получится.
Ну и если будет гораздо лучший результат, тут уже дело магии это зафиксировать :).
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39926073
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idol_111
Попробуйте запустить ваш запрос без ограничения по времени формирования плана и посмотрите, что получится.
Не подскажете темному, где такое ограничение отключается, и с какой версии это появилось?
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39926101
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ennor Tiegael
Idol_111
Попробуйте запустить ваш запрос без ограничения по времени формирования плана и посмотрите, что получится.
Не подскажете темному, где такое ограничение отключается, и с какой версии это появилось?
OPTION(QUERYTRACEON 8780)
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39926108
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008
Есть сервер, достаточно мощный - 16 ядер, 192 памяти.


Не пробовали Columnstore? Тупо на все большое.
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39926118
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
SQL2008
Есть сервер, достаточно мощный - 16 ядер, 192 памяти.


Не пробовали Columnstore? Тупо на все большое.

Columnstore хорош для массовых запросов на чтение и appendonly изменения данных. Если это классическая OLTP с update-ми, delete-ми и select-ми по ключам, то почти наверняка Columnstore сделает только хуже.
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39926136
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убрал вообще все индексы, запустил план выполнения, создал (по рекомендации оптимизатора) покрывающий индекс на все (даже на время модификации записи, что меня немного смутило!) и время выполнения еще уменьшилось до полутора минут. В общем не всегда то, что кажется (кластерный индекс) хорошо в реальности.
Всем спасибо за горячее участие и помощь!
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39926139
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
Если это классическая OLTP с update-ми, delete-ми и select-ми по ключам, то почти наверняка Columnstore сделает только хуже.

Нет. Это буферные таблицы, в которые данные заливаются одноразово и потом используются для построения отчетов. На них можно вешать какие угодно индексы и сколько угодно. Оперативной работы с данными нет.
...
Рейтинг: 0 / 0
Странное поведение сервера при попытке оптимизации
    #39926158
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008
msLex
Если это классическая OLTP с update-ми, delete-ми и select-ми по ключам, то почти наверняка Columnstore сделает только хуже.

Нет. Это буферные таблицы, в которые данные заливаются одноразово и потом используются для построения отчетов. На них можно вешать какие угодно индексы и сколько угодно. Оперативной работы с данными нет.

В этом случае CS может быть эффективен.
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Странное поведение сервера при попытке оптимизации
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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