Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1119344221
Vikarij
2005-06-21 12:57
2005.07.11
Delphi, Printer


3-1117193378
highlander
2005-05-27 15:29
2005.07.11
Проблема использования сложных запросов с агрегатами


4-1115984359
mattis
2005-05-13 15:39
2005.07.11
Каким образом получить список языков установленных в системе?


11-1102185895
Владимир Кладов
2004-12-04 21:44
2005.07.11
Версия 2.02


14-1117815608
Андрей Жук
2005-06-03 20:20
2005.07.11
О геноциде





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский