Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Bulk Insert MS SQL ADO\dxExpress 
:(
    Опции темы
Beltar
Дата 5.5.2013, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: нет
Всего: 7



Каким образом можно ускорить вставку записей в базу при алгоритме вида:
1) Сгенерировать запрос на вставку
2) Засунуть его в компонент запроса (TADOQuery хотя в моем случае и dbX подойдет). Вариант, применение параметров и prepared, что побыстрее, но в общем-то те же яйца.
3) Сделать компоненту ExecSQL.

Ну оберну в BeginTrans\CommitTrans раза в 2 ускорится, а каким-нибудь образом выполнить вставку данных одним запросом можно реализовать?

Тип сервера MS SQL 2008.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Akella
Дата 5.5.2013, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



В цикле выполнять отдельно каждый insert в ExecSQL, но в рамках одной транзакции.
Я уже забыл, поддерживает ли MS SQL 2008 запрос вида:
Код

insert into...;
insert into...;
insert into...;
insert into...;
insert into...;

проверь в Management Studio


ну или:
Добавлено @ 22:27
http://www.sql.ru/forum/512877/mnozhestvennyy-insert

Добавлено @ 22:28
http://msdn.microsoft.com/ru-ru/library/ms188365.aspx

Добавлено @ 22:29
http://msdn.microsoft.com/ru-ru/library/ms175937.aspx

Добавлено @ 22:29
http://msdn.microsoft.com/ru-ru/library/ms...sql.105%29.aspx

Добавлено @ 22:30
http://msdn.microsoft.com/ru-ru/library/ms...sql.105%29.aspx
PM MAIL   Вверх
Beltar
Дата 6.5.2013, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: нет
Всего: 7



Там в среде управления можно забить пакет запросов, спуск по слову GO. В понедельник приду на работу поэкспериментирую.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0411 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.