2014-12-18 2 views
0

Я читал о методе Groovy's batch. Часть, с которой я запутался, - int batchSize. Что он делает и что на самом деле? Я сделал образцы скриптов, используя метод batch, и, похоже, это не имеет значения. Я просто хочу другую точку зрения.Groovy SQL batch

+1

Ваш вопрос не совсем ясен: вы говорите о классе 'Sql' [withBatch] (http://groovy.codehaus.org/api/groovy/sql/Sql.html#withBatch (int, groovy.lang . Закрытие)) заявление? (извините за плохой формат ссылки, не могу заставить его работать правильно) –

+0

Да, извините. 'withBatch (int batchSize, String sql, Closure c)'. – devanon

ответ

0

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

Пакетная обработка позволяет вам перемещаться по середине и запускать до batchSize запросов одновременно. Когда они закончатся, код будет запускать следующие batchSize запросов. И даже если вы не имеете дело с потенциально большим количеством запросов, withBatch является ярлыком вызова the appropriate Java-методы для выполнения множества SQL-запросов.

Что касается того, почему это не имеет никакого отношения к вашему коду, вы должны рассказать нам больше о том, как вы его используете, и о том, какую разницу вы ожидали, но не испытали.

+0

Спасибо. Я выполняю только несколько запросов, поэтому это не повлияло. Это действительно помогает. – devanon