Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Импорт данных в SQL  [new]
Milif
Member

Откуда:
Сообщений: 18
Есть приложение, написанное на C#.NET. Приложение формирует пакеты данных (пока виде обычного массива, объем ~ 1000000 записей по 10 байт). Нужно эти пакеты импортировать в таблицы SQL причем быстро. Как это лучше организовать?
25 сен 05, 20:21    [1907976]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных в SQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Все зависит от содержимого пакетов.
25 сен 05, 20:25    [1907982]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных в SQL  [new]
Брюлик
Member

Откуда:
Сообщений: 690
bcp or bulk insert
26 сен 05, 08:23    [1908407]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных в SQL  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
В С# есть что-то типа MoveBatch?
26 сен 05, 09:44    [1908566]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных в SQL  [new]
Milif
Member

Откуда:
Сообщений: 18
Гавриленко Сергей Алексеевич
Все зависит от содержимого пакетов.

Содержимое пакетов - массив данных, в каждой строке лежит 5 числовых значений (соответственно поля таблицы).
Брюлик
bcp or bulk insert

Да. Но это крайний вариант. Не достаточно быстро работает..
Есть способ быстрее импорт организовать? Может как-то из памяти сразу импортировать? Данные в си можно к любому виду привести.
26 сен 05, 12:26    [1909389]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных в SQL  [new]
Брюлик
Member

Откуда:
Сообщений: 690
Wow, BULK INSERT это самый,самый,самый быстрый
26 сен 05, 12:31    [1909419]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных в SQL  [new]
ruslrain
Member

Откуда:
Сообщений: 114
массив в 1 000 000 в общем не такой и большой. и я не думаю что bulk insert сильно медленно будет работать. Есть вариант создать и запустить пакет прямо из приложения. Во многих примерах от Microsoft это реализовано на VB. насчет C# я не уверен, но насколько я знаю они используют одни и те же классы .Net
но насколько это увеличит скорость загрузки по сравнению bulk insert, это вопрос. Есть другой вариант: оптимизоровать сервер для быстрой загрузки
- изменить моддель записи в тразакшен лог,
- убрать идексы в таблице, и автообновление статистики
Хотя на миллионе записей, я не думаю, что это будет сильно заметно.
26 сен 05, 12:34    [1909440]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить