powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / Сжатие таблици
21 сообщений из 21, страница 1 из 1
Сжатие таблици
    #37367438
SINDEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток!
С Informix только только начинаю работь, от старого работника осталась база в ней таблица с логами за 5 лет. Таблица разрослась до 22Гб. Посоветуйте как я могу уменьшить размер таблици. Пробовал удолять записи в таблици, но размер не изменяется.
Что посоветуюте как можно уменьшить таблицую
Зарание спасибо.
ОС: HP UX
Версия БД: IBM Informix Dynamic Server Version 9.40.FC7
...
Рейтинг: 0 / 0
Сжатие таблици
    #37367499
Ikir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SINDEX,

Таблица фрагментирована? Если нет, то стоит подумать над этим.
Посмотрите описание оператора TRUNCATE.
И конечно не забудьте выгрузить нужные данные!!!
...
Рейтинг: 0 / 0
Сжатие таблици
    #37367575
SINDEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ikir,

Нет не фрагментированая можно по подробней об этом или ссылочку где почитать?
В моей версии TRUNCATE не поддерживается уже пробовал.
"This feature was not available in the early versions of IBM Informix® Dynamic Server™ even though it was included in the documentation. This feature is first available in 10.00.xC4."
...
Рейтинг: 0 / 0
Сжатие таблици
    #37367797
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SINDEXДоброе время суток!
Посоветуйте как я могу уменьшить размер таблици. Пробовал удолять записи в таблици, но размер не изменяется.
Что посоветуете ? как можно уменьшить таблицу ?

Если все эти записи в логе вам сейчас уже не нужны, то можно просто удалить всю таблицу и создать чистую новую, естественно, не забыв перед этим проверить (и отключить) связи таблицы и не автоиндексы. А затем все включить (и перестроить индексы).
Если же вам нужно просто выкинуть, к примеру, записи за предыдущие 4 года и оставить за текущий год, и уменьшить физический размер, занимаемый таблицей на диске, то тогда сценарий более длинный:
- делаете бэкап БД или таблицы
- удаляете записи по диапазонам первичного ключа (или по дате), причем желательно не по одной записи, а пачками в транзакции (например, по 1000 или по 10000шт, зависит от размера строки и скорости удаления)
- после удаления "сжимаете" таблицу, т.е. делаете физическую перезапись данной таблицы, что приведет к освобождению незанятых экстентов и страниц. Способов такой перезаписи описано довольно много (в том числе и здесь, на форуме), самый популярный
alter fragment on table "имя таблицы" init in "work_dbs"
...
Рейтинг: 0 / 0
Сжатие таблици
    #37367809
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SINDEXНет не фрагментированая можно по подробней об этом или ссылочку где почитать?
Где FAQ находится знаете ? Там же есть ссылки на все виды документации. В документации все находится элементарно просто.
Для вашей версии см. Руководство администратора.
...
Рейтинг: 0 / 0
Сжатие таблици
    #37368108
SINDEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasilisSINDEXДоброе время суток!
Посоветуйте как я могу уменьшить размер таблици. Пробовал удолять записи в таблици, но размер не изменяется.
Что посоветуете ? как можно уменьшить таблицу ?

Если все эти записи в логе вам сейчас уже не нужны, то можно просто удалить всю таблицу и создать чистую новую, естественно, не забыв перед этим проверить (и отключить) связи таблицы и не автоиндексы. А затем все включить (и перестроить индексы).
Если же вам нужно просто выкинуть, к примеру, записи за предыдущие 4 года и оставить за текущий год, и уменьшить физический размер, занимаемый таблицей на диске, то тогда сценарий более длинный:
- делаете бэкап БД или таблицы
- удаляете записи по диапазонам первичного ключа (или по дате), причем желательно не по одной записи, а пачками в транзакции (например, по 1000 или по 10000шт, зависит от размера строки и скорости удаления)
- после удаления "сжимаете" таблицу, т.е. делаете физическую перезапись данной таблицы, что приведет к освобождению незанятых экстентов и страниц. Способов такой перезаписи описано довольно много (в том числе и здесь, на форуме), самый популярный
alter fragment on table "имя таблицы" init in "work_dbs"


Почитал не много про alter fragment возникло несколько вопросов.

1. Можно-ли это делать на рабочей базе(записи в эту таблицу добавляются 24 часа в сутки)
2. Если я правильно понял происходит некий процесс копирования таблици создаётся вторая после цего удаляется первая(ну и в зависемости от комманды закидывает на один тейбл спейс или на два, три и т.д.). Отсюда вопрос в базе осталось 2Гб свободного пространства пройдёт-ли процесс успешно или нужно 22Гб свободного пространства?
3. На вскидку как много времени на это уйдёт и какова вероятность уронить таблицу или всю базу?
...
Рейтинг: 0 / 0
Сжатие таблици
    #37368445
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Нет, в процессе выполнения Alter Fragment таблица будет не доступной.
2. Зависит от того, сколько данных там осталось. Очень грубо прикинуть можно так: вас было 40 млн.записей и они занимали 20 Гб, вы оставили 2 млн. записей, т.е. вам должно хватить 1Гб.
Если в таблице не полей аля varchar, либо известны средние размеры varchar-ов, то размер можно оценить точнее.
Не забываем про размеры EXTENT-ов.
3. В принципе это длительная операция, но сильно зависит от того, сколько записей вы оставили в таблице, а также какая производительность вашего сервера. Например, у меня ранее архив нулевого уровня ранее выполнялся 4 часа, а сейчас он делается за 4 минуты, при том же объеме данных.
...
Рейтинг: 0 / 0
Сжатие таблици
    #37368473
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За раз: переименовать старую, создать новую с нужным именем аналогичной структурой (фрагментированную по годам если есть возможность).
Потихоньку проинсертить из старой нужные записи в новую.
Вылить анлоадом старую в бекап.
Дропнуть старую.
...
Рейтинг: 0 / 0
Сжатие таблици
    #37378055
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IkirSINDEX,

Таблица фрагментирована? Если нет, то стоит подумать над этим.
Посмотрите описание оператора TRUNCATE.
И конечно не забудьте выгрузить нужные данные!!!

truncate не помог бы ему если требуется не удалять все данные из таблицы. Вообще было бы неплохо иметь возможность каким то образом без перезаливки данных освобождать пустые страницы таблиц, например после удаления большого числа записей.
...
Рейтинг: 0 / 0
Сжатие таблици
    #37378062
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Androntruncate не помог бы ему если требуется не удалять все данные из таблицы. Вообще было бы неплохо иметь возможность каким то образом без перезаливки данных освобождать пустые страницы таблиц, например после удаления большого числа записей.сжатие которое в информикс эту проблему решает, перекладывает в начало таблицы, обрезает конец, ну и еще жмет.
...
Рейтинг: 0 / 0
Сжатие таблици
    #37378264
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев ДенисAndrontruncate не помог бы ему если требуется не удалять все данные из таблицы. Вообще было бы неплохо иметь возможность каким то образом без перезаливки данных освобождать пустые страницы таблиц, например после удаления большого числа записей.сжатие которое в информикс эту проблему решает, перекладывает в начало таблицы, обрезает конец, ну и еще жмет.

Если мы уже не обсуждаем проблему ТС на 9.4, то для этих целей вместо обрезания (с) TRUNCATE есть усушка (c) SHRINK.
...
Рейтинг: 0 / 0
Сжатие таблици
    #37378327
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денис,

Только для использования сжатия насколько я знаю, надо докупать лицензию, так что не всегда опять таки применимо. А так конечно это работает, даже проверял :)

И кстати мб на самом деле ведь можно repack и shrink использовать без включения сжатия. Надо проверить.
...
Рейтинг: 0 / 0
Сжатие таблици
    #37378399
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойЕсли мы уже не обсуждаем проблему ТС на 9.4, то для этих целей вместо обрезания (с) TRUNCATE есть усушка (c) SHRINK.мы ее не обсуждаем, она слишком скучная.
...
Рейтинг: 0 / 0
Сжатие таблици
    #37378594
Ikir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Дениссжатие которое в информикс эту проблему решает, перекладывает в начало таблицы, обрезает конец, ну и еще жмет.

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

Сжатие на уровне информикс лишь растянет "удовольствие", но не решит проблему распухания таблицы и её периодической чистки.

Есть "авторастягиватель удовольствия" (с) auto_crsd .
Не Tefal, а IBM "думает от нас!" (с) Tefal :).
...
Рейтинг: 0 / 0
Сжатие таблици
    #37378666
Ikir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойЕсть "авторастягиватель удовольствия" (с)
Не Tefal, а IBM "думает от нас!" (с) Tefal :).

Мдааа 11.7 ... скоро будет всё само ))))))))))))))))))))
...
Рейтинг: 0 / 0
Сжатие таблици
    #37378701
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IkirСжатие на уровне информикс лишь растянет "удовольствие", но не решит проблему распухания таблицы и её периодической чистки.мы не обслуждаем проблему ТС, она скучная, все что я хотел сказать ТС-у написано 11032337
...
Рейтинг: 0 / 0
Сжатие таблици
    #37378712
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойauto_crsd
Не Tefal, а IBM "думает от нас!" (с) Tefal :).И ни слова про rowid, оракл хоть соломки подстелил (alter table enable/disable row movement)
...
Рейтинг: 0 / 0
Сжатие таблици
    #37378799
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев ДенисАнатоЛойauto_crsd
Не Tefal, а IBM "думает от нас!" (с) Tefal :).И ни слова про rowid, оракл хоть соломки подстелил (alter table enable/disable row movement)
Да, кому-то может оказаться критично...
Сам не обратил внимания, поскольку у нас после пары проблемных случаев стало заведено "Не использовать rowid!".
...
Рейтинг: 0 / 0
Сжатие таблици
    #37379075
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой "Не использовать rowid!".
Informix об этом начал писать еще 10 лет назад :)
...
Рейтинг: 0 / 0
Сжатие таблици
    #37379459
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilis,

тсс. 10 лет назад уже был IBM. А про rowid говорили еще в прошлом тысячелетии.
Почитал на этой почве украинскую версию педивикии, это просто ужас какой-то я туда внес пару лет назад, ошибок просто море было.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Сжатие таблици
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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