| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Bulk Insert MS SQL ADO\dxExpress |
| Автор: Beltar 5.5.2013, 15:35 |
| Каким образом можно ускорить вставку записей в базу при алгоритме вида: 1) Сгенерировать запрос на вставку 2) Засунуть его в компонент запроса (TADOQuery хотя в моем случае и dbX подойдет). Вариант, применение параметров и prepared, что побыстрее, но в общем-то те же яйца. 3) Сделать компоненту ExecSQL. Ну оберну в BeginTrans\CommitTrans раза в 2 ускорится, а каким-нибудь образом выполнить вставку данных одним запросом можно реализовать? Тип сервера MS SQL 2008. |
| Автор: Akella 5.5.2013, 22:25 | ||
| В цикле выполнять отдельно каждый insert в ExecSQL, но в рамках одной транзакции. Я уже забыл, поддерживает ли MS SQL 2008 запрос вида:
проверь в 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/ms190421%28v=sql.105%29.aspx Добавлено @ 22:30 http://msdn.microsoft.com/ru-ru/library/ms162802%28v=sql.105%29.aspx |
| Автор: Beltar 6.5.2013, 00:37 |
| Там в среде управления можно забить пакет запросов, спуск по слову GO. В понедельник приду на работу поэкспериментирую. |