![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Импорт из DBF в FireBird [D7, FireBird 2.0]
MZ © (2007-05-31 09:46:00)Делаю импорт из Dbf в FireBird. Один Commit на весь импорт. Записей примерно 100000. Так вот импорт существенно замедляется... Первые 10000 записей импортируются примерно за 1 минуту, а последние около 20 мин. Как с этим бороться?
MZ (2007-05-31 10:03:00) [21]
> Могу только предположить - раз открыта транзакция, информация,
> необходимая для ее возможного отката, где-то же хранится,
> и ее объем растет пропорционально кол-ву незакоммиченных
> изменений. Т.е. может лучше импортировать более мелкими
> порциями?
>
Я тоже так подумал, Но к своему стыду не могу продумать алгоритм выбора , например каждой тысячной записи, что-то типа if (DataSet.RecNo mod 1000)=0 then Tr.Commit
Сергей М. (2007-05-31 10:03:00) [22]
> MZ (31.05.07 09:57) [6]
Что мешает на время импорта удалить индекс и воссоздать его после завершения импорта ?
MZ (2007-05-31 09:57:00) [23]
> > индекс один-по ключевому полю
>
>
> Что оно из себя представляет ?
>
Поле Varchar(9)
Тулещ (2007-05-31 09:55:00) [24]Могу только предположить - раз открыта транзакция, информация, необходимая для ее возможного отката, где-то же хранится, и ее объем растет пропорционально кол-ву незакоммиченных изменений. Т.е. может лучше импортировать более мелкими порциями?
Sergey13 (2007-05-31 09:54:00) [25]> [0] MZ (31.05.07 09:46)
> Один Commit на весь импорт.
Ну так поэкспериментируй с этим.
Сергей М. (2007-05-31 09:54:00) [26]
> индекс один-по ключевому полю
Что оно из себя представляет ?
MZ (2007-05-31 09:51:00) [27]
> На таблице, в которую импорт делаешь, триггеры/индексы не
> навешены?
> <Цитата>
>
>
триггеров нет, а индекс один-по ключевому полю..
Тулещ (2007-05-31 09:49:00) [28]На таблице, в которую импорт делаешь, триггеры/индексы не навешены?