|
|
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
cptngrb zinpub, в принципе везде надо понимать что и как работает. Для прямой загрузке мне из базы нужно дергать название таблицы, а потом уже писать в нее, т.к. я не имею права сам создавать таблицы и накладные расходы на создание таблицы, передача ее названия опять же через запрос... вообщем нужно будет потестить Я немножко про другое... При DirectLoad(Sql*Loader, TOraLoader) - игнорируются некоторые констрейны, тригеры итд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 10:26 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Я для этого писал данные в свою(логически временную) таблицу, а вот потом запускал процедуру, котораю на стороне сервера разносила данные по таблицам... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 10:28 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Когда-то уже обсуждали тут этот вопрос с этим же, кажется, автором. Пришли в выводу, что тормозит менеджер памяти своими блокировками. ТС говорил, что попробует перейти на процессы, но до сих пор видим 100 потоков, дергающих массивы и стринги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 11:04 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
YuRock, процессы не пропустили, поэтому выжимаем максимум из возможного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 11:07 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
YuRock, Ты их в дверь, они в окно. (с) Человек упорно игнорирует прямые указания на блокировочный менеджер памяти, используемый при передаче строковых параметров. Походу просто тролль пришёл к нам подкормиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 11:13 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
cptngrb YuRock, процессы не пропустили, поэтому выжимаем максимум из возможного Дурь какая-то. Еще можно создать 100 одинаковых dll с разными именами файлов. В них тоже в каждом свой менеджер будет. Один процесс за то. Как им такой изврат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 11:14 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Vlad F, ничего я не игнорирую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 11:18 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Как вам везет, что с дурью вы сталкиваетесь только на форумах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 11:19 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
А если попробовать другие менеджеры? https://github.com/d-mozulyov/BrainMM https://github.com/maximmasiutin/FastMM4-AVX https://github.com/andremussche/scalemm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 11:30 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Василий 2, нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 11:37 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
в смысле не пробовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 11:42 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
cptngrb Vlad F, ничего я не игнорирую Но тебе же несколько раз указали на опробованное решение, нет? Дельфийское приложение в многопотоке формирует на диске куски данных по 10-100 метров и в том же много потоке натравливает на них SQL*Loader. Работает офигительно, прямо глаз радуется. Или хочешь все-таки помусолить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 11:48 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Vlad F, так я же не против, я просто это рассматриваю одно из решений. Мне же сравнить нужно что быстрее. Этот вариант конечно буду пробовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 12:28 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
cptngrb, Дык, я уже давно все сравнил. И внедрил еще в прошлом годе в продуктивный продуктив. О чем и пытаюсь все тебе донести.)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 12:37 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Vlad F Дельфийское приложение в многопотоке формирует на диске куски данных по 10-100 метров и в том же много потоке натравливает на них SQL*Loader. А не сравнивал с загрузкой через TOraLoader? Я в своё время сделал ровно так же, но это было в те времена, когда Direct API не было легко доступно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 12:43 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
cptngrbДля прямой загрузке мне из базы нужно дергать название таблицы, а потом уже писать в нее, т.к. я не имею права сам создавать таблицы и накладные расходы на создание таблицы, передача ее названия опять же через запрос... "Чо?" (с) Парень, у меня сильное подозрение, что когда тебе говорят "Array DML" и "Direct Load" ты воспринимаешь это не как прямое указание на соответствующее API, а как некоторую абстракцию типа "используй массивы" и "грузи в таблицу". При использовании Array DML не могут использоваться дельфийские строки, поэтому заявления о "менеджер памяти - бутылочное горлышко" воспринимаются как бред. Direct Load не использует SQL запросы вообще, поэтому "передача ее названия опять же через запрос" - ещё больший бред. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 13:58 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Direct Load не использует SQL запросы вообще.... Dimitry, можно ссылку на документацию, что бы быть уверенными, что под Direct Load все понимают одно и то же. p.s. Сам разбирался с OCI >15 лет назад, во времена 8i, с тех пор больше не требовалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 15:13 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
softwarer Vlad F Дельфийское приложение в многопотоке формирует на диске куски данных по 10-100 метров и в том же много потоке натравливает на них SQL*Loader. А не сравнивал с загрузкой через TOraLoader? Я в своё время сделал ровно так же, но это было в те времена, когда Direct API не было легко доступно. Нет, не сравнивал. Уже по той причине, что для этого надо было ставить отдельные и, как понимаю, недешевые компоненты. Пробовал FireDAC Array DML, который, судя по документации, опирается на OCI Array DML. Хотелось бы, кстати, послушать тех, кто с ним разбирался, что на что опирается TOraLoader. Но судя по тем примерам, как в него закладываются параметры, со строковыми значениями будут ровно те же проблемы в части внутренних вызовов _GetMem(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 15:25 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevможно ссылку на документацию, что бы быть уверенными, что под Direct Load все понимают одно и то же. Лично я называю так вот это: https://docs.oracle.com/en/database/oracle/oracle-database/19/lnoci/direct-path-load-interface.html Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 15:27 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, thanks Vlad F Нет, не сравнивал. Уже по той причине, что для этого надо было ставить отдельные и, как понимаю, недешевые компоненты. Пробовал FireDAC Array DML, который, судя по документации, опирается на OCI Array DML. Хотелось бы, кстати, послушать тех, кто с ним разбирался, что на что опирается TOraLoader. Но судя по тем примерам, как в него закладываются параметры, со строковыми значениями будут ровно те же проблемы в части внутренних вызовов _GetMem(). Насчет проблем "в части внутренних вызовов _GetMem()" ничего не знаю. Но как-то "OCI Array DML" сильно разнится с "пишу в базу через хранимую процедуру записи" Хотелось бы больше конкретики и, оптимально, хоть какого-то простейшего бечмарк-теста, который бы показывал "скорость работы меня не удовлетворяет". IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 16:13 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
zinpub Я для этого писал данные в свою(логически временную) таблицу, а вот потом запускал процедуру, котораю на стороне сервера разносила данные по таблицам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 16:20 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
vavan норм решение. тоже валю балками в gtt через anydac а потом одним вызовом процедуры всю кучу обрабатываю Угу. До того, как я пришёл на текущее место работы, здесь тоже так делали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 16:41 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, в компоненте DirectLoader есть такое ствойство как TableName. Мне как его получить? Из космоса? авторПри использовании Array DML не могут использоваться дельфийские строки, поэтому заявления о "менеджер памяти - бутылочное горлышко" воспринимаются как бред. Интересно, когда я такое писал Код: pascal 1. 2. 3. Подозрения не оправдались ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 16:47 |
|
||
|
Механизмы очень-очень быстрой записи в БД Oracle.
|
|||
|---|---|---|---|
|
#18+
Я понимаю, что вы мне советуете и спасибо вам за это. Просто каждому хочу ответить, на его конкретный вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 16:50 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39903939&tid=2038761]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
154ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 450ms |

| 0 / 0 |
