powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Чем ускорить INSERT ???
7 сообщений из 7, страница 1 из 1
Чем ускорить INSERT ???
    #32054613
Petroff-Vodkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет !
Есть проблема : надо во временную IB базу закачать данных - порядка 100000 записей чтобы тут же по ним запустит запрос. (Писано Delphi4 + IBObjects) -
команды типа

Table1.Insert;
Table1.FieldByName('XXX').AsInteger:=XXX;
....
Table1.Post;

отрабатывает в трэде порядка 360 рекордс пер секонд. при инсерте всех 100000 за 1ну транзакцию. - Вопрос Чем писать быстрее ??? (Данные для записи формирует тот же экзешник...)
...
Рейтинг: 0 / 0
Чем ускорить INSERT ???
    #32054643
Фотография Deosfen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мы используем bcp
...
Рейтинг: 0 / 0
Чем ускорить INSERT ???
    #32054739
VladSh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создайте external table на внешнюю текстовую табличку
далее insert into select from ext_table
1.000.000 строк залетает за пару минут
...
Рейтинг: 0 / 0
Чем ускорить INSERT ???
    #32056278
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создать external таблицу получилось
но данные в нее из внешнего файла не попали.
При insert соответственно ничего не пополняется
...
Рейтинг: 0 / 0
Чем ускорить INSERT ???
    #32056363
VladSh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внешнюю таблицу лучше всего создавать перед загрузкой данных и сразу после
загрузки удалять ее (коннекн сделайте под sysdba,
удаляйте на случай возможных проблем с бэкап-ресторе, ресторе не пройдет,
если текстовой таблицы нет или она перемещена)
При экспорте в текстовый файл (например, из Access указывайте точку как
разделитель дробной части, формат: фиксированная ширина полей)
Предположим, имеем текстовый файл с двумя полями: 22 и 50 символов
В IB Expert создайте табличку типа
create external table txttmp 'c:\tmp\txttest.txt' (
fl1 char(22),
fl2 char(52));
Здесь последнее поле увеличиваем на два символа (перевод строки и возврат каретки)
Далее гоним в обычную ИБ-таблицу:
insert into mytable (f1, f2)
select fl1, fl2 from txttmp
...
Рейтинг: 0 / 0
Чем ускорить INSERT ???
    #32057290
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну нафига юзать TTable?
TQuery заюзать нельзя?
Посмотри что происходив с BDE при такой дебильной вставке - там трассер выплюнет тебе несколько сотен команд. Вставку делай сиквел запросами!
Пойми - юзая TTable - ты заставляешь твою систему (под крышой BDE) перекачивать всю таблицу к тебе на комп.
Посмотри сиквел пассер - SQL Monitor.
Ебазу юзал очень давно - слезай нахрен с нее на сиквел или оракул.
ICQ: 151932727
...
Рейтинг: 0 / 0
Чем ускорить INSERT ???
    #32057291
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... в догонку - показательно - борланд выклал исходники ентербазы - что само по себе значительно ...
серьезные вещи на ней не сваять ... жалко мне тех программеров которые с ней парятся... могу привети десять тысяч примеров глюкавости ентербазы....
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Чем ускорить INSERT ???
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]