Показаны сообщения с ярлыком external table. Показать все сообщения
Показаны сообщения с ярлыком external table. Показать все сообщения

четверг, 1 апреля 2010 г.

Вставка большого количества записей в Firebird

Домучиваю потихоньку перенос КЛАДР в Firebird. Ну а для этого основная операция - вставка громадного числа записей.

Первоначально шел по пути обработки данных из dbf КЛАДРа на клиенте, и вставке их на сервер. Отключал индексы на таблице, вставлял по одной записи (т.е. не блок из нескольких), коммитил через 1000 вставок. Скрость работы  примерно минут 30-40 на 1000000 записей кладра.

Потом узнал о external table. Не сложной манипуляцией dbf файл адоптируется в нужный вид(обрезаем заголовок ), кидается на сервер. На сервере мы его подключаем как внешнюю таблицу и работаем с ним. Плюс написал хранимые процедуры для обработки данных и вставки их (то, что раньше делал на клиенте). Итог - не считая подготовления файлов (а оно занимает от силы не более минуты), этот же миллион записей загрузился за 3,5 минуты.

клиент в первом случае и сервер во втором это одна и таже машина.

Доволен как удав :-)