powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / увеличение degree параллели не дает особого увевличения производительности вставки
25 сообщений из 37, страница 1 из 2
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750257
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Всех с наступающими праздниками!
К делу.
Есть таблица на 340 млн строк. Для одного дела, я сначала перекладывают данные из нее во вспомогательную таблицу

CREATE /*+ APPEND */ TABLE t_aux parallel (degree 8) AS SELECT * FROM t;)

Потом транкейчу таблицу t и кладу данные обратно командой , предварительно сделав

ALTER TABLE t
PARALLEL 8;

ALTER TABLE t_aux
PARALLEL 8;

вот сам инсерт

INSERT /*+ APPEND */ INTO t SELECT
*
FROM
t_aux;
Работало 5 часов.
Решила сделать параллель 32. Но это укорило только первый CTAS .Инсерт-аппенд идет практически столько же по времени, может чуть быстрее.
Я что-то делаю не так? Смотрела в сессии - их действительно 33 висит когда инсертится, то есть работа распераллеливается.
Можно как то еще ускорить этот инсерт?
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750277
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarova,

Лучше расскажите в чем суть вашего «одного дела». Возможно, вы выбрали не самый лучший способ для этого.
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750280
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarova,

Даже первая половина дела вызывает некоторые недоумения. Зачем делать CTAS с последующим усечением исходной таблицы? Что мешало сделать обмен секциями через промежуточную секционированную таблицу?
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750281
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Щукина Анна, меняю типы данных, которые невозможно поменять без обнуления столбцов.
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750282
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Щукина Анна, даже если выбрала не лучший способ, вопрос не в этом. а том почему увеличения degree вчетверо не дает значительно ускорения insert/append
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750299
MazoHist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarova,
индексы на старой таблице отключены?

что мешает сделать CTAS сразу с нужными типами данных?

Код: plsql
1.
CREATE TABLE t_aux parallel (degree 8) AS SELECT t.col1, cast(t.col2 as new_data_type) col2  FROM t;


ну и nologging не забыть
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750300
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уперлись в пропускную способность дисковой подсистемы?
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750306
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже 32 девушки не смогут выйти из декрете раньше, чем через 9 месяцев.

Хотя... многие эффективные менеджеры ( TM ) ожидают, что уже через 8-10 дней результат начнет появляться на свет
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750324
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MazoHist, индексы предварительно дропнула. Нологгинг запрещено включать на уровне настроек, сделанными дба.
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750327
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev, так может и вообще ну его этот параллелизм:-)?
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750332
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
landy, а как это проверить?
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750337
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что мешает сделать CTAS сразу с нужными типами данных?

[src oracle]
CREATE TABLE t_aux parallel (degree 8) AS SELECT t.col1, cast(t.col2 as new_data_type) col2 FROM t;

если не добьюсь адекватного времени своим способом, то так и буду делать скорее всего
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750344
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarova,

1. Боюсь напутать, но append с параллелью не живет, вроде?
2. dbms_parallel_execute?
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750345
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaLeonid Kudryavtsev, так может и вообще ну его этот параллелизм:-)?
1) Все зависит от объема данных / оборудования

Вы точно уверены, что Ваше оборудование позволяет одновременно обрабатывать 32 потока данных?

Задача то в чистом виде копирование, читаем с диска = пишем на диск. Ну 2, может 4 потока позволят чуть-чуть поднять through input на шине, но 32 потока что будут делать?

и честно говоря, 5 часов это как-то безумно много. Даже "офисный" диск вполне может выдать 80-100 Mb /s. Т.е. 5 часов это up to 1.8 Tb данных. Видел полки на FC, которые на чтение full table scan выдавали 1-2 Tb/s

С другой стороны, видел базы, где тайблеспейсы лежали на сетевом диске расположенных на удаленной площадки и на "бытовом" NAS сервере ))).

Т.ч. смотреть, на чем стоим и уж тогда думать, можно ли что-то еще из оборудования/базы выжать.

2) Как верно заметили, как минимум одно копирование лишнее. Т.е. без издевательств над сервером, легким движением руки, можно ускориться минимум в 2-а раза
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750351
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaменяю типы данных, которые невозможно поменять без обнуления столбцов.EvgeniaMakarovaесли не добьюсь адекватного времени своим способом

Индусы так старались, разрабатывали пакет DBMS_REDEFINITION для онлайн переопределения таблиц.
А вы изобретаете собственный велосипед с ортогональным расположением колес и на лошадиной тяге...
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750360
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина АннаИндусы так старались
Уж так старались, что после редефа секционированной таблицы с rowid вместо PK обмен секциями с CTAS-табличкой становится весьма затруднителен, имейте ввиду.
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750368
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaLeonid Kudryavtsev, так может и вообще ну его этот параллелизм:-)?

Ну и еще такой момент. На время данной операции, Вы будете жутко потреблять обмен с диском, т.е. должны резко тормозить других пользователей.

Если база промышленная и на ней кто-то работает, то легким движением руки, Вы вполне можете на 5 часов превратить сервер в "персональный компьютер коллективного пользования"

Т.ч. перетягивая одеяло на себя, проснувшийся из-за холода со-кроватник, вполне может и чем-то тяжелым с просоня запустить ))))

IMHO
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750375
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev, никого не будет, выделенное время для релиза. никого не заимпактит.другое дело что релиз не может длиться сутки и надо как можно быстрее обновить
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750380
казинак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaINSERT /*+ APPEND */ INTO t SELECT
*
FROM
t_aux;
Работало 5 часов.

какой wait event был в эти 5 часов у этих сессий?
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750383
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev
Вы точно уверены, что Ваше оборудование позволяет одновременно обрабатывать 32 потока данных?

нет, я не уверена. меня смущает что CTAS ускорился, а инсерт/аппенд не желает ускоряться. Вроде то же оборудование, и то же перекладывание данных, упирающееся в диски.
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750387
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Щукина Анна,

Он совсем медленно делает и лично для моих временных рамок не подходит.
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750392
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
oragrafEvgeniaMakarova,

1. Боюсь напутать, но append с параллелью не живет, вроде?
2. dbms_parallel_execute?


можно опустить слово аппенд , паралелльно вставляется все равно только аппендом
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750395
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторРешила сделать параллель 32. Но это укорило только первый CTAS .Инсерт-аппенд идет практически столько же по времени, может чуть быстрее.
Я что-то делаю не так? Смотрела в сессии - их действительно 33 висит когда инсертится, то есть работа распераллеливается.

Каким образом вы увеличили параллельность? Если вы просто добавили хинт PARALLEL - то вы распараллелили только SELECT, сессий будет 33, 32 будут читать исходную таблицу, но вставлять будет только одна. Т.к. INSERT - это дмл операция, то включать параллельность для него нужно командой
авторalter session enable parallell dml
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750397
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaОн совсем медленно делает и лично для моих временных рамок не подходит. Если вы про редефинишен, то там параллель есть и он основную работу делает заранее, до часа Х. Почитайте доку.
...
Рейтинг: 0 / 0
увеличение degree параллели не дает особого увевличения производительности вставки
    #39750403
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaЩукина Анна,

Он совсем медленно делает и лично для моих временных рамок не подходит.О каких временных рамках идет речь? DBMS_REDEFINITION работает "в фоне". Всё время, пока идет переопределение, исходной таблицей можно пользоваться (практически) без ограничений.

Варианты ускорения в два раза именно вашего подхода вам уже озвучили:

1) CATS в таблицу правильной структуры + замена местами старой и новой таблицы (два RENAME TABLE) + не забыть права, триггеры, индексы и прочую шелуху перенавешать со старой таблицы на новую

2) Вместо CTAS сделать обмен секциями через промежуточную секционированную таблицу (если редакция оракла позволяет) + модификация старой таблицы и заполнение её данными.
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / увеличение degree параллели не дает особого увевличения производительности вставки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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