Страница 1 из 1
Как увеличить скорость вставки в Firebird 1.5
Добавлено: 30 мар 2005, 18:17
DonMiguel
Машина P IV 2.8 памяти 512
Вставка примерно 3000 записей занимает 6 минут.
Уважаемые гуру, как можно уменьшить это время - что то мне говорит о том, что это время очень большое.
Работа идет через OLE DB через free IB Provider.
Желательно уменьшить это время - но я не знаю как. Авто коммит отключали - prepare перед вставкой делали. Ничего не помогает.
Re: Как увеличить скорость вставки в Firebird 1.5
Добавлено: 30 мар 2005, 20:39
Merlin
DonMiguel писал(а):Машина P IV 2.8 памяти 512
Вставка примерно 3000 записей занимает 6 минут.
Это ж... Это ж... Жестокое насилие на ж-ю Василия (С) Она должна занимать нуу... нуу... 0.3 сек максимум. Это если в таблицу без индексов, с одним PK и чиста серверными средствами, то есть в одной SP. Так штаа... Не знаю даже где искать. Мысли скачут как зайцы. От мегатонн мусора в таблице и астрономического разрыва OAT - Next, через таблицу немерянной ширины и длины, увешанную по самое небалуй индексами по полям типа "Да/Нет", до включенного журналирования файла базы средствами оси по каждому изменению.
Добавлено: 30 мар 2005, 23:52
DonMiguel
Вот и я в непонятках - таблица аж из 6 полей - 4 из них внешние ключи, один PK и поле факта. Во всем естественно составлен индекс. Но даже тут не должно быть такой низкой производительности. Базу бекапили рестоили - бесполезно.
Все поля многозначные в ссмыле не да/нет, хотя по всем 4 уникальный индекс такое может давать?
Более того, таблица ПУСТАЯ перед вставкой.
Добавлено: 31 мар 2005, 00:31
kdv
да ты лучше объясни, КАК и ИЗ ЧЕГО ты эти 6 тыщ записей вставляешь. бывают такие лихие способы, что можно и за минут 30.
Добавлено: 01 апр 2005, 00:19
DonMiguel
Разобрались в чем дело - разработчик клиента использовал куросоры обнонаправленные и в результате получилось учень весело.
1) проход берем первую запись из источника
2) проход фетчим 2 записи
3) проход фетчим 3 записи
-------
ну и так далее в арифметичской прогресии (спасибо не геометрической) - после устранения проблемы все (заливка плюс обработка) стало занимать 15 секунд.
<offtop>

блин взбаламутили - аж два гуру местного пошиба пяткой в грудь стучали на тему что вставка тормозит... любители VB блин
пришлось цельну прогу на дельфях писать, чтобы показать, что вставка 3000 записей 2 секунды при самом плохом раскладе
</offtop>
Добавлено: 01 апр 2005, 08:50
Лысый
DonMiguel писал(а): любители VB блин
Это ты про кого?

Добавлено: 01 апр 2005, 09:58
kdv
дык, оно сразу было ясно, что разработчик так и сделал.