Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

Вставка большого количества записей   Найти похожие ветки 

 
Term ©   (2005-05-31 13:00) [0]

Произвожу вставку сотни тысяч записей, из сотни файлов в среднем размером 50 000 записей, делаю одну транзакцию на 1 файл, примерно через 30 файлов, производительность офигенно падает, как победить


 
Nikolay M. ©   (2005-05-31 13:26) [1]

Во-первых, использовать bulk insert.
Во-вторых, использовать во-первых в временную таблицу, из которой уже делать INSERT INTO ... SELECT.


 
Stanislav ©   (2005-05-31 13:31) [2]

Nikolay M. ©   (31.05.05 13:26) [1]
Что такое bulk insert ?


 
Nikolay M. ©   (2005-05-31 13:35) [3]


> Stanislav ©   (31.05.05 13:31) [2]

Как насчет открыть БОЛ и скопировать два слова в строку поиска? Информации будет более чем достаточно.


 
Term ©   (2005-05-31 13:47) [4]


> Во-первых, использовать bulk insert.

это щас погляжу


> Во-вторых, использовать во-первых в временную таблицу, из
> которой уже делать INSERT INTO ... SELECT.

ну тут получается дважды одно и тоже??? две вставки, или я чтото не понял... можно подробнее о таком подходе


 
Term ©   (2005-05-31 13:55) [5]

почитал про bulk insert, это получается нужно предварительно создать файл текстовый, а потом из него лить???


 
sniknik ©   (2005-05-31 14:28) [6]

а что он у тебя не текстовый? весьма странно. обычно "льют" именно из текстового, когда не указывают откуда надо... по дефолту так сказать.
;о)) шутка естественно.

на всякий случай почитай еще - OpenRowset/OpenDataSource/Data Link Server/DTS.


 
Nikolay M. ©   (2005-05-31 14:32) [7]


> почитал про bulk insert, это получается нужно предварительно
> создать файл текстовый, а потом из него лить???

Да. Либо напрямую в нужную таблицу, либо в промежуточную, а потом уже из нее - в целевую, в зависимости от местных метеоусловий. Не забыть обратить внимание на флаги FIRE_TRIGGERS, KEEPIDENTITY, KEEPNULLS, MAXERRORS, TABLOCK и почитать про совместимость булковой заливик с моделями восстановления данных.


 
Reindeer Moss Eater ©   (2005-05-31 14:38) [8]

То, что у него после 30 файлов торможение начинается говорит о том, что bulk insert скорее всего неприменимо.


 
Term ©   (2005-05-31 15:24) [9]

ну так в чём выход?


 
Nikolay M. ©   (2005-05-31 15:32) [10]


> Reindeer Moss Eater ©   (31.05.05 14:38) [8]
> То, что у него после 30 файлов торможение начинается говорит
> о том, что bulk insert скорее всего неприменимо.

Так я предлагаю не для каждого файла делать булк, а для всех сразу. А то, что тормоза начинаются через 30 файлов может быть следствием, например, того, что сервер решает обновить статистику. При пакетной заливке всех файлов такого не произойдет.


 
Term ©   (2005-05-31 15:41) [11]

проблема в том что с программой должен в последствии работать оператор который может мало что знать о БД


 
Nikolay M. ©   (2005-05-31 15:54) [12]


> Term ©   (31.05.05 15:41) [11]
> проблема в том что с программой должен в последствии работать
> оператор который может мало что знать о БД

К чему сказан этот факт и что из этого следует? Оператор будет вручную копировать данные из каждого файла? Или все-таки пользоваться каким-то интерфейсом?



Страницы: 1 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.047 c
8-1111102536
мыш
2005-03-18 02:35
2005.07.11
free transform - нужен алгоритм


9-1111935540
$SerG$
2005-03-27 18:59
2005.07.11
LIFE


3-1116909077
Тучудище
2005-05-24 08:31
2005.07.11
Назначение параметров запросу содержащемуся в SQL файле


1-1118819809
msguns
2005-06-15 11:16
2005.07.11
Не могу передать фокус из StayOnTop формы в вызывающую


3-1117618656
Koala
2005-06-01 13:37
2005.07.11
Помогите создать запрос (Firebird 1.5)