Пул потоков ============ Запросы *INSERT* могут обрабатываться несколькими потоками, что значительно увеличивает производительность в случае, если внешняя база данных может эффективно работать с несколькими соединениями одновременно. Вместе с пулом потоков рекомендуется использовать пакетирование. Тогда каждый поток получает данные из одной (целой) партии и обрабатывает ее. А если пул потоков используется без пакетной обработки, то каждый поток в пуле получает ровно одну запись; как правило, это занимает гораздо больше времени, чем обычный однопоточный *INSERT*. .. important:: Если при выполнении операции любой поток из пула не смог выполнить какой-либо запрос, пользователь получает сообщение об ошибке. Тем не менее, как и в случае использования пакетной обработки, при возникновении ошибки часть записей может оказаться во внешней базе данных. Иными словами, операция вставки при использовании пула потоков не является атомарной даже в том случае, когда внешняя база данных поддерживает транзакции Для включения пула потоков необходимо создать внешнюю таблицу с параметром *POOL_SIZE* с одним из следующих значений: + *integer > 1* -- пул потоков состоит из заданного количества потоков; + *integer < 1* -- количество потоков в пуле равно количеству процессоров в системе; + *integer = 1* -- не использовать пул потоков. Если параметр не указан, пул потоков не используется.