Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
sql_user2 Member Откуда: Сообщений: 382 |
Есть таблица. Как ее сжать? Не удаляя данные. |
13 июн 17, 10:57 [20559641] Ответить | Цитировать Сообщить модератору |
londinium Member Откуда: Киев Сообщений: 1193 |
sql_user2, https://docs.microsoft.com/en-us/sql/relational-databases/data-compression/enable-compression-on-a-table-or-index |
13 июн 17, 11:00 [20559647] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
londinium, https://technet.microsoft.com/en-us/library/dd894051(v=sql.100).aspx |
13 июн 17, 11:01 [20559649] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
Думаю это только для ентерпрайза ![]() Мне надо просто сжать таблицу без архивирования. |
||
13 июн 17, 11:01 [20559652] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
sql_user2, что в твоем понимании "просто сжать без архивирования"? дефрагментация? |
13 июн 17, 11:04 [20559658] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
Например, в sysindexes есть разница между reserved и dpages. Можно ведь как-то эту разницу уменьшить и высвободить место? |
||
13 июн 17, 11:05 [20559664] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Добрый Э - Эх, для него и alter table rebuild будет сжатием :) а так да, winrar |
13 июн 17, 11:05 [20559666] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
ну и сжатие это только для ентерпрайза же? |
||
13 июн 17, 11:08 [20559676] Ответить | Цитировать Сообщить модератору |
sql_user2 Member Откуда: Сообщений: 382 |
Не пишите глупости. Для винрара надо Бд останавливать - так не сжимается. |
||
13 июн 17, 11:09 [20559682] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8320 |
sql_user2, перестройте кластерный индекс. |
13 июн 17, 16:36 [20561174] Ответить | Цитировать Сообщить модератору |
AlanDenton Member [скрыт] Откуда: Сообщений: 1004 |
Какая редакция? Можно установить 2016й в котором вместе с SP1 стали доступны фишки энтерпрайза вроде колумнсторов и сжатия. Единственное ограничение по ресурсам |
13 июн 17, 17:23 [20561334] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 3971 |
См. про разреженные данные в 2016 Например, https://msdn.microsoft.com/ru-ru/library/ff427239(v=sql.110).aspx
|
||||||
14 июн 17, 10:26 [20562646] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Ролг Хупин, тема вроде и правильная, но пример не в дугу :) ну и использование SPARSE будет выгоднее только от определённых % NULL записей, так он только больше |
14 июн 17, 10:35 [20562688] Ответить | Цитировать Сообщить модератору |
AlanDenton Member [скрыт] Откуда: Сообщений: 1004 |
TaPaK, подерживаю. Автор топика - попробывали бы 2016 экспересс и его колумнсторы. Если нет BLOB то это поможет решить проблему. Иначе компрессия на уровне PAGE. Плюс секционирование на таблицу если нужно что-то потом искать |
14 июн 17, 10:42 [20562717] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8320 |
Как это поможет уменьшить разницу
|
||||
14 июн 17, 10:55 [20562767] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 3971 |
да, но: 1. пример сочинен майкрософтом 2. да. это один из путей, его можно использовать, если много нулей, но мы ведь знаем от ТС только это: "Есть таблица.Как ее сжать?Не удаляя данные." У меня работает на некторых таблицах. 3. ну, не винрарить же файлы ![]() |
||
14 июн 17, 12:10 [20563185] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Ролг Хупин,
как же это печально. Вы не хотите ещё подумать, для какой цели в данном примере используется SPARSE |
||
14 июн 17, 12:19 [20563230] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 3971 |
я нет, пусть ТС думает, если у него есть подходящие данные можно использовать SPARSE. |
||||
14 июн 17, 13:33 [20563549] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
правильно, думать не явно не ваша тема. Ваш пример не имеет ничего общего ни с вопросом ТС ни с пониманием самого SPARSE как-то так. |
||||
14 июн 17, 13:36 [20563555] Ответить | Цитировать Сообщить модератору |
o-o
Guest |
a у ТС не вопрос, а как всегда бурда. что хотел сказать вот этим:
что там (в sysindexes) неверно отражается ситуация, ибо канул в лету 2000-ый и его таблички? для интереса делаю в своей базе вот такое, и что? select top 10 object_name(id), id, indid, reserved,dpages, reserved-dpages as diff_pages, (reserved-dpages) * 8 / 1024 as diff_Mb from sysindexes order by diff_pages desc мне выпадают только кластерные и diff_Mb прям гигабайты. для них в reserved показана сумма данных + всех индексов данной таблицы! вот просто для кластерного там страницы данных dpages правильные, а в reserved еще и ВСЕ (штук 10) некластерных посчитано и ничего не надо ни ребилдить, ни компрессить. а еще больше не надо юзать в 2017ом году какие-то sysindexes, про которых мало что сказано
+
так они еще и кластерному суммируют вообще все индексы ну т.е. ему в самый раз можно посоветовать дропнуть все некластерные индексы и сразу та разница уменьшится |
||||||||
14 июн 17, 14:21 [20563758] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
o-o,
|
||
14 июн 17, 14:27 [20563784] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 3971 |
1. Видимо, "явно" должно быть, чтобы круче. 2. "ни с пониманием самого SPARSE " - даладно, думаю имеет, тем более пример из документации. 3. Если перечитаь еще раз вопрос ТС, то ответов может быть очень много и разных. |
||||
14 июн 17, 14:41 [20563846] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Ролг Хупин, омг. При чём здесь ТС, я про вас |
14 июн 17, 14:47 [20563889] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 3971 |
и нафиг вам это надо? ну, да, ладно ;-) |
||
14 июн 17, 15:10 [20563996] Ответить | Цитировать Сообщить модератору |
Jasonclark03 Member [скрыт] [заблокирован] Откуда: Сообщений: 17 |
sql_user2, Если вы уже создали таблицу, вы можете использовать сжатие в этой таблице, используя следующую команду: ALTER TABLE example REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = ROW); GO Вы можете использовать сжатие PAGE или сжатие ROW |
15 июн 17, 08:16 [20565575] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |