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

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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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


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