Вниз
Скачать: CL | DM;

Добавление большого количества записей   Найти похожие ветки 

← →
snake1977   (2004-09-14 09:47) [0]

Здравствуйте! подскажите, пожалуйста идею, как оптимально сделать. Задача примерно такова: есть две таблицы, главная и подчиненная, в котрые надо добавить порядка 50000 записей из другой таблицы (добавлять надо ежедневно). при добавлении необходимо следить чтобы добавляемые записи не дублировали уже имеющиеся в таблице.
Я пробовал сделать таким образом:
1.береться текущая запись из таблицы источника.
2.ставлю фильтр на главную таблицу приемника, с данными записи из таблицы источника.
3.т.к. таблицы приемника связанны то автоматически происходит фильтрация подчиненной таблицы.
4.если в главное таблице приемнике после фильтрации пусто, то заполняю ее.
5. если в подчиненой таблице приемнике, записи не встретилось, то добавляю запись из таблицы источника в эту подчиненую таблицу.
6. если не конец таблицы источника, то к пункту 1

по данному алгоритму добавление записей происходит часов 5
:((
ну очень медленно :(
пробовал устанавливать индексы, пока не добился хотябы 5-и часового процесса.

таблицы парадоксовские.
тут таблицы имеют след. смысл: главная таблица выступает в качестве групирующей, т.е. например в ней зашиты категории товара, а в подчиненной его движение.


← →
ЮЮ ©   (2004-09-14 09:51) [1]

>ставлю фильтр на главную таблицу приемника, с данными записи из таблицы источника

Напиши один запрос и получи все недостающие записи сразу


← →
Digitman ©   (2004-09-14 09:52) [2]

а как этот алгоритм соотносится с организованными тобой транзакциями ? как ты управляешь ими при этом, по какой логике ?


← →
Sergey13 ©   (2004-09-14 09:54) [3]

А каков критерий дублируемости? По ключевому полю или как то еще? И каков предполагаемый процент "дубляжа"?
ИМХО можно, при наличии уникального индекса, прямо валить в приемник с обработкой исключений.


← →
Alex_Bredin ©   (2004-09-14 10:32) [4]

два BatchMove c параметром batAppend - 5 сек


← →
Alex_Bredin ©   (2004-09-14 10:41) [5]

batAppendUpdate



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1096006472
Kniaz
2004-09-24 10:14
2004.10.10
копирование файла


14-1095594345
DelphiStarter_Irbis1001
2004-09-19 15:45
2004.10.10
TSplitter


3-1094792388
skr
2004-09-10 08:59
2004.10.10
InstallShield, BDE


14-1095404297
Knight
2004-09-17 10:58
2004.10.10
Добрый день, весёлый час! Рады видеть нас у вас!!!


1-1096272219
Dimastiy04
2004-09-27 12:03
2004.10.10
Расстягивание скинообразной формы приложения




   Наверх