![]() |
|
Модераторы: LSD |
![]()
|
|
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 1 Всего: 56 |
Есть: БД оракл + Джава приложения, которое сохраняет данные, причём одно из полей (одна из колонок в таблице) - это огромный блоб (хмл), занимающий много места. Хочеться уменьшить занимаемое место этой колонкой, не удаляя и не архивируя данные и при этом не изменяя джава приложение (зиповать в джаве хмл и хранить архив в колонке вариант известный, но пока отброшен).
Лучшим из вариантов было бы реализовать некую прослойку в оракле в виде хранимой процедуры или настраиваемой опции таблици, которая позволила бы сжимать сохраняемый блоб. Подходящий функционал имеется utl_compress пакете, но я пока не представляю как его внедрить без изменений в клиентском приложении. |
|||
|
||||
| turbanoff |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 6.4.2009 Репутация: нет Всего: 1 |
теоретически есть вариант. с кучей ограничений:
переименовать таблицу и создать view с именем таблицы. во view-шном select-е распаковывать блоб. И написать триггер instead of для insert/update, который будет запаковывать. UPD. в 11-м есть virtual column. Этот способ скорее всего проще, и с меньшими побочными эффектами Переименовываем столбец. <<Исходный_с_блобом>> в <<Исходный_с_блобом>>_compress Добавляем к таблице виртуальный столбец с именем <<Исходный_с_блобом>>, который распаковывает другой столбец. Ну и вешаем триггер для запаковки Это сообщение отредактировал(а) turbanoff - 30.6.2011, 11:46 |
|||
|
||||
![]()
|
| Правила форума "Oracle" | |
|
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Oracle | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |