Главная страница
    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.035 c
1-1118775803
Mishel01
2005-06-14 23:03
2005.07.11
Как сравнить две дирректории ?


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


6-1112888304
Egorr
2005-04-07 19:38
2005.07.11
Шифрование траффика-TIdMappedPortTCP


11-1101855353
Алексей
2004-12-01 01:55
2005.07.11
Уважаемый Владимир Кладов...


14-1118211559
Layner
2005-06-08 10:19
2005.07.11
Чем можно "разобрать" XML файл кроме как XMLDocument





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский