|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.07.2011, 16:06 | #1 |
Форумчанин
Регистрация: 17.11.2008
Сообщений: 116
|
оптимизация добавления в таблицу бд
Реализовал API (ком-сервер) для взаимодействия с БД (MS Access) приложения из 1C. Возникла проблема с функцией добавления, пользователь пробегает по справочнику товаров в 1C и через ком-объект, содержащий функцию Add, добавляет товары в БД приложения. На каждое добавление приходится один INSERT-запрос. Таким образом, если товаров 30 000 выполняется 30 000 INSERT-запросов. На добавление 30 000 записей уходит больше минуты. Как можно оптимизировать затраты? Пока что ничего лучше чем использовать TADOTable (Append, Post, Cancel) не придумал (30 000 записей добавляются за 3,5 секунды). Что посоветуете?
|
08.07.2011, 20:33 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
ИМХО:
1) Отказаться от Акцесса в пользу более серьезных СУБД, поддерживающих транзакции (у акцесса это не есть гут сделано), однако даже если ты свои 30000 разделишь на скажем 10 транзакций прирост скорости может увеличится только на немного. 2) Формируй промежуточный файл. Скажем XML или CSV. А в Акцессе его подключай. Импорт ускорится, даже если ты сделаешь не внешнюю связку а просто физически перетащишь все записи средствами самого Акцесса.
I'm learning to live...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Невозможность добавления новых данных в таблицу Access | BlackWhyT | Помощь студентам | 0 | 24.12.2010 18:25 |
Триггер , который после добавления записи в одну таблицу редактирует запись другой таблицы | Rin | БД в Delphi | 7 | 18.12.2010 03:50 |
добавления в ListBox | Yokka | Общие вопросы C/C++ | 1 | 31.05.2010 09:28 |
Обновление набора данных после добавления в таблицу записей "внешней" программой | dimmm | БД в Delphi | 5 | 21.04.2009 00:56 |
добавления в готовую таблицу | Strelka | Microsoft Office Excel | 1 | 09.03.2007 17:27 |