Обозначить текст из UITextView без межстрочного интервала - iOS

Вы должны попробовать вставить свои данные. С этой целью вы можете использовать OCI * ML . Обсуждение этого здесь . Заметная статья здесь . Или вы можете попробовать загрузить Oracle SQL Bulk Loader SQLLDR, чтобы увеличить скорость загрузки. Для этого выполните сериализацию данных в файл csv и вызовите SQLLDR, передавая csv в качестве аргумента.

Еще одна возможная оптимизация - стратегия транзакций. Попробуйте вставить все данные в 1 транзакцию на поток / соединение.

Другой подход заключается в использовании MULTIPLE INSERT :

INSERT ALL
   INTO ABC (SSM_ID, invocation_id , calc_id, analytic_id, analytic_value, 
   override, update_source ) VALUES ('c','b',NULL, 'test', 123 , 'N', 'asdf')
   INTO ABC (SSM_ID, invocation_id , calc_id, analytic_id, analytic_value, 
   override, update_source ) VALUES ('a','b',NULL, 'test', 123 , 'N', 'asdf')
   INTO ABC (SSM_ID, invocation_id , calc_id, analytic_id, analytic_value, 
   override, update_source ) VALUES ('b','b',NULL, 'test', 123 , 'N', 'asdf')

SELECT 1 FROM DUAL;

вместо insert .. union all.

Ваши данные образца выглядят взаимозависимыми, что приводит к вставке 1 значительной строки, а затем ее добавлению в 4 строки с последующим sql-запросом.

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

Использование подготовленного синтаксиса оператора должно ускорить загрузку, так как сервер должен иметь уже проанализированный кешированный оператор.

Затем оптимизируйте свой код на C ++: переместите ops из цикла:

 //! Preparing the Query
   std::string insert_query = "insert into ";
   insert_query += Context::instance().getUpdateTable();
   insert_query += " (SSM_ID, invocation_id , calc_id, 
        analytic_id, analytic_value, override, update_source)\n";
   while (startOffset < statements.size())
   { ... }

0
задан MichelRobico 13 July 2018 в 13:32
поделиться