PDA

Показать полную графическую версию : [решено] Эффективность от сжатия базы.


Grub
15-02-2010, 14:55
Привет Всем!
Нужно оценить эффект от сжатия данных в базе.
Есть SQL Server 2008 Enterprise Edition. Есть некая база. Выставлен AutoShrink.
Нужно рассчитать эффективность использования сжатых таблиц. Есть такая процедура как sp_estimate_data_compression_savings. С ее помощью можно выяснить эффективность от сжатия для определенной таблицы. Вопрос: как выяснить эффективность использования сжатых таблиц для всей базы, а не для отдельной таблицы? Писать вручную все таблицы не есть замечательно.

Delirium
16-02-2010, 01:31
sp_estimate_data_compression_savings
Возвращает текущий размер таблиц и оценивает размер таблицы при запрошенном сжатии. Сжатие можно оценить для всех таблиц или только для части.
http://msdn.microsoft.com/ru-ru/library/cc280574.aspx

Как еще один вариант, можно написать процедуру, получающую список всех таблиц в переменную и перебирать таблицы. Например:

use YourDataBase --имя твоей базы
SELECT table_name
FROM information_schema.tables
WHERE table_type = 'BASE TABLE'
Запрос вернет список всех таблиц из базы YourDataBase.

Grub
16-02-2010, 09:34
Delirium, ссылку читал. Только там нет примера или описания как оценить для всех таблиц. Есть только для одной таблицы. Поэтому у меня и возник вопрос.
Попробую Вашу процедуру.

fomin_
16-02-2010, 12:56
Grub,
Какую компрессию Вы использовали Row или Page?

Grub
16-02-2010, 13:49
fomin_, Page. Я на пару таблицах запустил Calculate и вижу, что Page эффективнее. А что?

fomin_
16-02-2010, 14:31
Вдруг когда-нибудь пригодится.

Grub
17-02-2010, 16:38
Чето я туплю и никак не могу сообразить, как просмотреть для всех таблиц :(
Может кто-нить готовый пример показать?

Grub
01-03-2010, 09:35
Выяснение вопроса было продолжено здесь (http://social.technet.microsoft.com/Forums/ru-RU/sqlru/thread/044b9cb7-b84b-419d-b5fa-03b5a2322a99). Тема закрыта




© OSzone.net 2001-2012