Hello, dada!
You wrote  on Fri, 14 Apr 2006 03:20:34 -0700:

ds> Перчатки не будет. Увы :)
ds> Судя по безапелляционности
ds> высказываний, я имею дело с гуру. Так
ds> или нет?
На звания не претендую. Пиписьками меряться никакого желания не испытываю.

ds> Что посоветует гуру для ускорения
ds> процесса тупой закачки (серия из
ds> нескольких сотен тысяч INSERTов).
Почитать для начала статьи на www.ibase.ru. Несколько сотен тысяч записей - это не много. Как часто производится операция "тупой закачки"? Если это разовый процесс, можно просто взять IBDataPump с www.clevercopmponents.com и не париться. Если это процесс регулярно повторяющийся, лучше наваять что-то своё. Я спокойно обошелся FIBPlus, c IBX результат вряд ли сильно отличался бы по скорости. Препаришь запрос один раз и вставляешь записи в цикле, присваивая значения параметров. Каждые N тысяч записей - commit. У меня самый быстрый результат получился, когда на одну таблицу - один commit, примерно 700-800 тысяч записей, памяти на машинке много. От размера записей опять же зависит.

ds> Компоненты DBExpress до ужаса медленны, IBX,
ds> похоже, тоже. Сегодня попробовали UIB -
ds> резкий рост скорости (примерно в 5 раз),
ds> что уже очень хорошо.
ds> Читал, однако, здесь, что кто-то из
ds> уважаемых (вроде, Дед, но могу
ds> ошибаться) советовал использовать execute
ds> block для закачки данных.
Плохо себе представляю, как это можно сделать. Быстрее всего, imho, подложить заливаемые данные во внешнюю таблицу и
insert into sometable select * from exttable
Перед этим неплохо бы увеличить размер БД до предполагаемого конечного размера (создать табличку набить ее какаими ни попадя данными и грохнуть ее).

ds> Потому и спросил.
ds> Замечу, что если вопрос не интересен,
ds> можно не отвечать. Совсем не
ds> обязательно надменно хамить, клеймить
ds> и т.п. Дешевый снобизьм ето, уважаемый
ds> Александр. Искореняйте это в себе, и
ds> люди сами потянутся к Вам :).
Будь ты сам попроще, и не лезь в бутылку из-за ерунды.

Удач
--
Alexander A. Venikov, Tobolsk, Russia
Real e-mail address is venix<angry_dog>tn<dot>tob<dot>ru

Ответить