Большая таблица в БД
Кто-нибудь знает как этот процесс можно ускорить СУБД FireBird 1.0
Возникла проблема при копировании большой таблицы ~3000000 записей.
Кто-нибудь знает как этот процесс можно ускорить СУБД FireBird 1.0
А как ты ее копируешь то??
А как ты ее копируешь то??
Использую TDataSet для вставки записей. Комичу каждые 2000 записей затем открываю новую транзакцию.
Чем больше копируешь тем больше тормозит.
Использую TDataSet для вставки записей. Комичу каждые 2000 записей затем открываю новую транзакцию.
Чем больше копируешь тем больше тормозит.
Ну во первых, хранимые процедуры для кого придумали? Зачем данные тащить на клиента потом обратно их же гнать на сервер?
Второе, а старую транзакцию прибиваешь? Да и DataSet лучше после комита прикрыть. А то у тя все равно в кэше многое виснет - потому и тормозит.
Ну во первых, хранимые процедуры для кого придумали? Зачем данные тащить на клиента потом обратно их же гнать на сервер?
Второе, а старую транзакцию прибиваешь? Да и DataSet лучше после комита прикрыть. А то у тя все равно в кэше многое виснет - потому и тормозит.
Данные тащу на клиента, потому что он их пишет в другую базу. А что значит прибить транзакцию? transaction->Commit - это еще не прибить? А с DataSet-ом спасибо, прога памяти меньше жрать стала.
Ты не знаешь как узнать максимальный ид ключа таблицы? SQL выполняется долго, а как узнать какой генератор какому полю привязан я в метаданных не нашел. :(
Данные тащу на клиента, потому что он их пишет в другую базу. А что значит прибить транзакцию? transaction->Commit - это еще не прибить? А с DataSet-ом спасибо, прога памяти меньше жрать стала.
Ты не знаешь как узнать максимальный ид ключа таблицы? SQL выполняется долго, а как узнать какой генератор какому полю привязан я в метаданных не нашел. :(
Ну если обе базы Interbase то почему бы их не повесить на один сервер? Тогда в ХП можно будет писать:
insert base1.table1(field1, field2) select base2.table1(field1,field2)
ну или что-то около того.
КАк ID узнать без понятия, но наверняка где-то в системных таблицах есть. Я просто в IB уже давно не работал все больше MSSQL.