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

Откуда: Ukraine, Kharkiv
Сообщений: 291
Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) 
Oct 19 2012 13:38:57
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

После сжатия данных и индексов (PAGE), многие запросы перестали ходить по индексам, и стали выполняться в разы медленнее.
Общая производительность системы значительно упала.
Эти же запросы в тестовой среде (без сжатия), отрабатывают моментально и в плане запроса стоит поиск по индексу.
Почему такое происходит? Не хотелось бы отказываться от сжатия.
28 ноя 12, 13:45    [13542537]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 после сжатия данных тормозят запросы  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
автор
Влияние сжатия на другие компоненты SQL Server
Сжатие происходит в подсистеме хранилища, и данные предоставляются большинству других компонентов SQL Server в распакованном состоянии. Это ограничивает влияние сжатия на другие компоненты следующим.

Операции массового импорта и экспорта

При экспорте данных, даже в собственном формате, данные выводятся в распакованном формате строк. Поэтому размер экспортированного файла данных может значительно превысить размер исходных данных.

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

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

Сжатие не затрагивает резервное копирование и восстановление.

Сжатие не затрагивает доставку журналов.

Сжатие данных несовместимо с разреженными столбцами. Поэтому таблицы, содержащие разреженные столбцы, нельзя сжать, а разреженные столбцы нельзя добавить в сжатую таблицу.

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


Ну и тут любопытно
28 ноя 12, 13:50    [13542591]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 после сжатия данных тормозят запросы  [new]
Kasper
Member

Откуда: Брянск
Сообщений: 124
Andraptor,

Сжимают, обычно, дынные прошлых периодов - не актуальные на данный момент. Как вариант оперативного архива.
28 ноя 12, 15:12    [13543433]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 после сжатия данных тормозят запросы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37254
Kasper
Andraptor,

Сжимают, обычно, дынные прошлых периодов - не актуальные на данный момент. Как вариант оперативного архива.
Всякие данные сжимают.
28 ноя 12, 15:33    [13543631]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 после сжатия данных тормозят запросы  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35197
Блог
проверьте фрагментация индексов,
статистику попробуйте обновить,
сделайте sp_recompile для всех таблиц
28 ноя 12, 15:41    [13543723]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 после сжатия данных тормозят запросы  [new]
Andraptor
Member

Откуда: Ukraine, Kharkiv
Сообщений: 291
- Индексы у меня раз в сутки дефрагментируются/перестраиваются.
- Статистика 2 раза в сутки обновляется.
- После обновления статистики всех таблиц и так будет перекомпиляция планов, к тому же сервер перегружал.

Скорее всего, действительно, оптимизатор "обманывается" выбирая планы со сканированием таблиц и индексов, опираясь на меньшее количество страниц для хранения сжатых данных.
Придется отказываться от сжатия таблиц и индексов с интенсивным обращением.
28 ноя 12, 15:51    [13543860]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 после сжатия данных тормозят запросы  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35197
Блог
а если попробовать сначала сделать DBCC UPDATEUSAGE?
если не получится, то можно таблицы секционировать, старые секции пожать, новые нет
28 ноя 12, 16:06    [13544036]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 после сжатия данных тормозят запросы  [new]
Andraptor
Member

Откуда: Ukraine, Kharkiv
Сообщений: 291
Критик
а если попробовать сначала сделать DBCC UPDATEUSAGE?
если не получится, то можно таблицы секционировать, старые секции пожать, новые нет

DBCC UPDATEUSAGE делал
у меня большие таблицы секционированы... я и планировал так сделать.
Спасибо.
28 ноя 12, 16:14    [13544115]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 после сжатия данных тормозят запросы  [new]
Crimean
Member

Откуда:
Сообщений: 13147
Критик
можно таблицы секционировать


ой не все можно секционировать. особенно если "вдруг" приемлемый критерий секционирования нельзя добавить в кластерный индекс. что само по себе, в общем-то быть не должно, но случаи - они разные бывают.
28 ноя 12, 16:31    [13544299]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить