powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как можно такое организовать наиболее оптимальным образом?
14 сообщений из 14, страница 1 из 1
Как можно такое организовать наиболее оптимальным образом?
    #39925575
Надфиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть довольно большая таблица за несколько лет там накопилось порядка полутора миллиардов записей.
занимает это больше 100 Гб, плюс индексы.
упрощенно говоря, данные в таблице нужны, за исключением одного поля Char (15 byte), содержимое этого поля вообще мало кому интересно, а если и интересно, то только первые пару месяцев "для разборок". потом оно обращается в мусор.
сама таблица партицирована(по дате, месячными кусками).
вопрос вот чем, как эффективно сделать очистку поля и места которое оно занимает.
мой осн разума родил пока такие варианты.
1. сделать поле типом Varchar, по прошествии трех месяцев содержимое партиции перезаписываю в отдельную таблицу с удалением значения поля. партицию дропаю, данные обратно. индексы все local будет довольно быстро.
2. поэкспериментировать с полями типа Clob, не уверен, что тут можно чего то полезного сделать.
3. ничего не делать и забить на порядка 20% бесполезно занятого места в этой таблице.

как бы вы сделали?
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925580
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надфиль
очистку поля
Овчинка выделки не стоит.
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925593
Надфиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic
Надфиль
очистку поля
Овчинка выделки не стоит.

Наверно это правда.
Еще вариант. хранить рядом дубль таблицы с этим полем, и безжалостно дропать партиции через 2-3 месяца.
Дело в том что ряд запросов поднимают очень много данных из этих таблиц. сократив размер записи быстрей будем хранить нужное.
Ну я надеюсь.
Уже был вынужден сделать пару таблиц с выжимками сгруппированными по некоторым полям из этой таблицы.
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925596
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надфиль
Еще вариант. хранить рядом дубль таблицы с этим полем, и безжалостно дропать партиции через 2-3 месяца

Если по старым данным запросов оперативных нет, архивировать старые данные и дропать партиции.
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925679
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надфилькак бы вы сделали?

Вариант 3 однозначно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925715
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надфиль

1. сделать поле типом Varchar


менять придется для таблицы, как бы прикладнуха не поплыла после смены типа

если "для разборок" тип не критичен, я б помаленько (ночью/выходные) обнулял поле начиная с последней партиции

зи
20% імхо немало


.....
stax
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925723
Надфиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Stax#22078366
менять придется для таблицы, как бы прикладнуха не поплыла после смены типа
[/quot]
пишет в таблицу PHP там помоему пофиг, что за тип.
смотрят пара несильно важных окошек на делфи. и отчеты на фастрепорте.
модификация не будет ограничена этим полем.
удалю еще как минимум 3 бесполезных.
зачем то по традиции разраб вставил туда ИД, дату создания записи, и ид юзера создавшего.
думаю чтобы там еще удалить.
так что экономия на размере записи будет куда существенней....
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925731
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax20% імхо немало

Если 15 байт составляют 20% таблицы, то у аффтара что-то совсем плохо с арифметикой.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925747
efendi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Stax20% імхо немало

Если 15 байт составляют 20% таблицы, то у аффтара что-то совсем плохо с арифметикой.


Если в таблице 5 полей и каждое поле по 15 байт, то все сходится.
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925752
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
efendiвсе сходится.

Да, пардон, таки сходится. Но вряд ли база у него на ноутбуке, где уменьшение таблицы на 20Гб способно дать заметный выигрыш.
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925753
Надфиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Если 15 байт составляют 20% таблицы, то у аффтара что-то совсем плохо с арифметикой.

у таблицы,по данным статистики, AVG_ROW_LEN 73,
нулов в этом поле практически нет.
Char, если мне не изменяет склероз, дополняется до полной длины пробелами. значит 15 байт
15/73*100 чуть больше 20.
полей больше 5.
там в основном варчары и нумберы. с нулами. да и варчары не длинные(хранятся) в среднем
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925802
Надфиль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
[ уменьшение таблицы на 20Гб способно дать заметный выигрыш.

довольно мерзкая аналитика, плюс о ней никто не подумал, когда делали таблицу, да и росла она тогда на 10 млн в год) это счас на 50 млн в месяц. и как я уже писал это не единственное поле которое хочу подвергнуть экзекуции. в итоге запись, надеюсь, будет вдвое короче. чтений уж точно будет меньше.
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925814
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надфильчтений уж точно будет меньше.

А сколько чтений из неё сейчас? Максимум, что ты можешь получить это те самые 20% в
идеальном случае, а реально вряд ли больше 10%, поскольку страницы вряд ли заполнены
полностью и полностью же читаются.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как можно такое организовать наиболее оптимальным образом?
    #39925948
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надфиль

думаю чтобы там еще удалить.

если б они были еще и последними ...

....
stax
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как можно такое организовать наиболее оптимальным образом?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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