А еще есть такая мощная утилита "Import and Export Data". Работает очень быстро, может и код программный сгенерить на VB, если это надо. У меня 7 млн. записей заливает на сервер за 20-25 минут.
Народ, нужен хелп по сабжу...
Я выполняю так:
1) Создание хранимой процедуры
@Var1 int
@Var2 int
INSERT INTO [Table] (Field1, Field2) VALUES(@Var1, @Var2)
2) Потом в цикле вызывается ф-ия SQLExecDirect("Name_of_Stored_Procedure")
выполняется ~0.8 сек.
Объем данных — 1000 записей в 1 сек.
Если кто знает как можно быстрее вставить, буду признателен
Здравствуйте, Merle, Вы писали:
M>BULK INSERT M>Copies a data file into a database table or view in a user-specified format.
M>Сначала подготавливаешь данные в нужном формате, а потом заливаешь в базу, на больших объемах выигрыш в разы.
BULK INSERT тоже ведь по-моему только с винта может писать или из ОП тоже можно?
Здравствуйте, Condor, Вы писали:
TK>>Передавать в хранимую процедуру сразу 1000 записей в виде XML поля через text параметр.
C>оооо, похоже то что доктор прописал. А не мог бы ты скинуть примерчик на мыло condorz@mail.ru
Здравствуйте, Condor, Вы писали:
M>>BULK INSERT M>>Copies a data file into a database table or view in a user-specified format.
M>>Сначала подготавливаешь данные в нужном формате, а потом заливаешь в базу, на больших объемах выигрыш в разы.
В десятки раз. Я получал результат до 80 раз, уменьшая время процесса с 57 часов до 40 минут.
C>BULK INSERT тоже ведь по-моему только с винта может писать или из ОП тоже можно?
А SQL думаешь не пишет? Причём, если ты не будешь использовать транзакции, то он будет писать на диск при каждой вставке. При использовании транзакций можно увеличить скорость процентов на 15-20, ещё немного при если использовать Prepare. Но всё это детский сад по сравнению с BULK INSERT.
Если нам не помогут, то мы тоже никого не пощадим.