Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / inset / 5 сообщений из 5, страница 1 из 1
29.09.2016, 10:40:01
    #39317585
smolDRAGON
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
inset
Добрый день.

Подскажите, пожалуйста, "+" и "-" реализации, что еще можно придумать и где я ошибаюсь с аргументацией "почему так не правильно" и как лучше...

Задача:
Надо обновить данные (весь цикл включая обновление статистики) 2,5-20 млн. записей и хотелось бы время вставки сжать по макс(производится массовая перезагрузка (с трансформациями) всех данных, примерно раз в 1-4 дня).

Была партицированная таблица по дням, от партицирования решено отказаться (данные первоначально загружаются за 1 день и в процессе дозагрузки может добавить еще от 1 до 7 дней).

1. Перед каждой начальной вставкой таблица будет truncate.
2. На таблице есть индексы (5 шт), пробую удалить и создать их заново после вставки (кроме индекса на первичном ключе).
3. Перед вставкой пробую добавить execute immediate 'alter session enable parallel dml';
при вставке insert into /*+ APPEND PARALLEL*/
и в select /*+ parallel(8) */
4. пробую добавить default значения на 9 из 19 столбцов (null недопустим).

в конце сбор статистики через dbms_stats.gather_table_stats

план запроса с /*+ parallel(8) */ и без не меняется.


Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
...
Рейтинг: 0 / 0
29.09.2016, 10:46:13
    #39317600
smolDRAGON
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
inset
"производится массовая перезагрузка (с трансформациями) всех данных, примерно раз в 1-4 дня"
2,5-20 млн это только 1 из таблиц, которые перегружаются, но время ее обновления в исходной реализации более 2 часов..
важно не как сделано до меня, а как стоит сделать
...
Рейтинг: 0 / 0
29.09.2016, 11:35:57
    #39317671
inset
smolDRAGON,

сколько процентов записей из 2.5-20 млн. меняется? неужто все 100% ?
...
Рейтинг: 0 / 0
29.09.2016, 17:21:55
    #39318034
smolDRAGON
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
inset
ряд полей константы не изменяемые с течением времени
ряд полей константы изменяемые каждый день, например дата загрузки

существенных полей 8 и предсказать % их изменения не могу
на вскидку последние данные 270 тыс. - 10% (но это в минимуме в выходной день), в будни может быть % до 50+ изменений
...
Рейтинг: 0 / 0
29.09.2016, 17:55:19
    #39318061
smolDRAGON
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
inset
структуру таблицы менять не могу, есть общая для большинства
например: дата изменения записи, кто изменил...
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / inset / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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