Главная страница
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.049 c
6-1113056900
Arnold
2005-04-09 18:28
2005.07.11
Передача изображения через Indy


9-1112235066
Xeno
2005-03-31 06:11
2005.07.11
BumpMapping в GLScene


14-1118098112
KilkennyCat
2005-06-07 02:48
2005.07.11
Забавно, как можно посеять базу данных. Банковскую.


5-1088140621
AlexGreG
2004-06-25 09:17
2005.07.11
ComboBox с выпадающей формой TForm


9-1112055781
Strech
2005-03-29 04:23
2005.07.11
Расчет движения автомобиля