Для массового ввода мы обычно предпочитаем работу BATCH. Как именно он оптимизирован для более быстрой установки в jdbc?Пакетная вставка в JDBC
2
A
ответ
4
Обычно, уменьшая объездные поездки. Например, если вы собираетесь выполнить один и тот же оператор 100 раз со 100 различными наборами переменных привязки, было бы гораздо эффективнее сразу отправить все 100 наборов переменных привязки в базу данных и вернуть все 100 результатов, используя один так как он будет взимать 100 отдельных сетевых поездок для последовательного выполнения каждого запроса. Если вы сообщите драйверу JDBC, что вы хотите создать пакет, драйвер может свести к минимуму количество раз, когда он должен связываться с базой данных.
Смежные вопросы
- 1. JDBC пакетная вставка - управление скоростью вставки
- 2. JDBC - PostgreSQL - пакетная вставка + уникальный индекс
- 3. Пакетная вставка
- 4. JDBC: Пакетная вставка, не вставляющая значение в базу данных
- 5. Пакетная вставка в Neo4j
- 6. Пакетная вставка в neo4j
- 7. Пакетная вставка в Yii
- 8. Пакетная вставка в OrientDB
- 9. Пакетная обработка JDBC
- 10. Вставка нескольких строк в Hibernate - пакетная вставка
- 11. Пакетная вставка Phantom Cassandra
- 12. Android SQLite пакетная вставка
- 13. SQLite3: пакетная вставка?
- 14. Пакетная вставка строк
- 15. Пакетная вставка с RethinkDB
- 16. Пакетная вставка с Ecto
- 17. Пакетная вставка в базу данных
- 18. Пакетная вставка записей в cakephp
- 19. Пакетная вставка в рельсах 3
- 20. JDBC sql query (пакетная обработка)
- 21. Пакетная вставка скрипта Google Apps
- 22. yii2 пакетная вставка с ActiveRecord
- 23. JPA пакетная вставка, вызывающая ConstraintViolationException
- 24. Android: Пакетная вставка контактная фото
- 25. Neo4j пакетная вставка - несоответствие версии?
- 26. Пакетная вставка с использованием JPA/Toplink
- 27. EclipseLink пакетная вставка очень очень медленная
- 28. Пакетная вставка в mysql от RedBean
- 29. Пакетная вставка только одна запись в Кассандре
- 30. пакетная вставка в mysql с использованием php
Кроме того, я думаю, что особенно драйвер JDBC Oracle применяет еще некоторую оптимизацию, поскольку скорость при использовании вставленных вставок почти соответствует скорости SQL * Loader. Но я не знаю, что именно делает это так быстро. –
@a_horse_with_no_name, я немного заинтересован, чтобы знать такую оптимизацию. Действительно ли это происходит на стороне базы данных? то, что я пытаюсь понять, это сказать, что у вас есть две базы данных, например, оракул и mysql. Если я запускаю один и тот же запрос в обеих этих производительности базы данных, это будет меняться. – UVM
@a_horse_with_no_name - я мог бы увидеть, как драйвер JDBC Oracle выполняет загрузку прямого пути, если у вас есть партия инструкций 'INSERT', но это будет непросто сделать прозрачно. Вы должны иметь возможность получить обычную траекторию SQL * Loader-подобную производительность, просто уменьшая круговую поездку по сети и объединяя привязку переменных привязки. –