Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.02.20;
Скачать: CL | DM;

Вниз

Помогите оптимизировать скрипт   Найти похожие ветки 

 
harisma ©   (2009-09-17 15:36) [0]

Существует 2 базы с набором таблиц одинаковой структуры.
Обе базы имеют некоторые данные в этих таблицах.
Необходимо из одной таблицы одной базы добавить в такую же таблицу другой базы недостающие записи.
На этой таблице стоит уник констрейт на поле Name. Примари кей установлен на поле RECID. Это поле неавтоинкрементное. Соответственно получается следующий скрипт:


INSERT INTO [base2].DBO.LISTVIEW
 SELECT * FROM [base1].DBO.LISTVIEW AS OLD
 WHERE NOT OLD.RECID IN (SELECT RECID FROM [base2].DBO.LISTVIEW)
 AND NOT OLD.NAME IN (SELECT NAME FROM [base2].DBO.LISTVIEW)


Вот можно ли как-то оптимизировать условие WHERE?

Спасибо заранее.


 
Anatoly Podgoretsky ©   (2009-09-17 15:55) [1]

Какой вопрос по Дельфи, а не по MSSQL?


 
Palladin ©   (2009-09-17 16:19) [2]

оптимизация SQL запросов проивзодится на уровне БД


 
sniknik ©   (2009-09-17 16:20) [3]

INSERT INTO LoacalBase.DBO.LISTVIEW
 SELECT o.*
 FROM OutBase.DBO.LISTVIEW AS o
 LEFT JOIN LoacalBase.DBO.LISTVIEW AS l
 WHERE l.RECID IS NULL

должно быть быстрее, насколько это вообще возможно, с таким подходом. тянуть из другой базы всю, возможно не маленькую... таблицу ради вставки пары записей...
лучше уж определить что то вроде точки отсчета (автоинкремент/время) и запрашивать только после нее, т.е. ту часть которая точно не существует в этой базе. ну и сохранять ее естественно при переносе очередной "порции".


 
stas ©   (2009-09-17 16:27) [4]

А я чего-то непонял в новой таблице IDREC и NAME не соответствуют старой.
т.е. в новой IDREC 10 NAME ДЯДЯ ВАСЯ
и в старой IDREC 10 NAME ТЕТЯ МАША?
Тогда какими данными мы дополняем?



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

Текущий архив: 2011.02.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
11-1227450180
Дмитрий
2008-11-23 17:23
2011.02.20
Полоса прокрутки


15-1288631685
Tema
2010-11-01 20:14
2011.02.20
Как зарегистрироваться на Embarcadero?


15-1289158220
Dzmitry.Loktseu
2010-11-07 22:30
2011.02.20
Threads


6-1234984194
d@vinchi
2009-02-18 22:09
2011.02.20
Как прослушивать определенный ТСР порт?


10-1171642676
first
2007-02-16 19:17
2011.02.20
форма внутри com компонента