Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Большая таблица в БД

1.9K
28 марта 2003 года
Stanly
29 / / 05.02.2003
Возникла проблема при копировании большой таблицы ~3000000 записей.
Кто-нибудь знает как этот процесс можно ускорить СУБД FireBird 1.0
358
28 марта 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by Stanly
Возникла проблема при копировании большой таблицы ~3000000 записей.
Кто-нибудь знает как этот процесс можно ускорить СУБД FireBird 1.0


А как ты ее копируешь то??

1.9K
31 марта 2003 года
Stanly
29 / / 05.02.2003
Цитата:
Originally posted by moonmike

А как ты ее копируешь то??



Использую TDataSet для вставки записей. Комичу каждые 2000 записей затем открываю новую транзакцию.
Чем больше копируешь тем больше тормозит.

358
01 апреля 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by Stanly


Использую TDataSet для вставки записей. Комичу каждые 2000 записей затем открываю новую транзакцию.
Чем больше копируешь тем больше тормозит.


Ну во первых, хранимые процедуры для кого придумали? Зачем данные тащить на клиента потом обратно их же гнать на сервер?
Второе, а старую транзакцию прибиваешь? Да и DataSet лучше после комита прикрыть. А то у тя все равно в кэше многое виснет - потому и тормозит.

1.9K
02 апреля 2003 года
Stanly
29 / / 05.02.2003
Цитата:
Originally posted by moonmike

Ну во первых, хранимые процедуры для кого придумали? Зачем данные тащить на клиента потом обратно их же гнать на сервер?
Второе, а старую транзакцию прибиваешь? Да и DataSet лучше после комита прикрыть. А то у тя все равно в кэше многое виснет - потому и тормозит.



Данные тащу на клиента, потому что он их пишет в другую базу. А что значит прибить транзакцию? transaction->Commit - это еще не прибить? А с DataSet-ом спасибо, прога памяти меньше жрать стала.
Ты не знаешь как узнать максимальный ид ключа таблицы? SQL выполняется долго, а как узнать какой генератор какому полю привязан я в метаданных не нашел. :(

358
02 апреля 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by Stanly


Данные тащу на клиента, потому что он их пишет в другую базу. А что значит прибить транзакцию? transaction->Commit - это еще не прибить? А с DataSet-ом спасибо, прога памяти меньше жрать стала.
Ты не знаешь как узнать максимальный ид ключа таблицы? SQL выполняется долго, а как узнать какой генератор какому полю привязан я в метаданных не нашел. :(


Ну если обе базы Interbase то почему бы их не повесить на один сервер? Тогда в ХП можно будет писать:
insert base1.table1(field1, field2) select base2.table1(field1,field2)

ну или что-то около того.

КАк ID узнать без понятия, но наверняка где-то в системных таблицах есть. Я просто в IB уже давно не работал все больше MSSQL.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог