Немного поясню специфику задачи.
Закачка небольшой порции данных (до
30Мб) происходит ежедневно. Данные
поступают от различных источников.
Важная особенность в том, что
временной интервал от момента
окончания поступления данных до
момента, когда они должны быть
загружены и рассчитан приличный кусок
отчетности достаточно мал. Сейчас он
сопоставим со временем заказчи и
расчета. Другими словами, отсутствует
возможность маневра по времени, а
организационный (человеческий) фактор
становиться слишком заметен: тут
чучть-чуть задержали с исходными
данными, там немного... А закончитьь
расчеты требуется строго по
регламенту, и это не каприз
руководства, а требования бизнеса.
Теперь о решении. Всем спасибо, т.к.
советы были высказаны иногда весьма
полезные.
Идею с Execute block оставили - 64k
недостаточно большой размер для того,
чтобы двигаться в этом направлении.
FIBPlus не пробовали - унас его нет.
DBExpress действительно тормозной до
безобразия.
IBX, сознаюсь, оклеветал. Он просто
недостаточно быстрый. Хотя вариант с
параметризованным INSERT работает уже
приемлемо.
Пока выбрали все-таки вариант с
компонетами UIB. У них, похоже, все на
самом деле оптимизировано по скорости
исполнения. Тот же параметризованный
INSERT работает ЗАМЕТНО быстрее IBX (по
приблизительным оценкам до 4 раз!).
Еще раз всем спасибо! Об окончательных
результатах доложу :)

Ответить