Форум: "Базы";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];
ВнизВставка большого количества записей Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c