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

Вниз

Запрос по БД   Найти похожие ветки 

 
n_sch   (2007-10-31 11:41) [0]

Добрый день! Есть две таблицы, одна с эталонными данными, другая с меняющимся числом записей обе проиндексированны по одному ключевому полю. Вопрос как из эталонной таблицы выбрать только те записи которых нет в таблице с меняющимся числом записей??? SQL запросы типа "<>" или NOT LIKE не помогают...Заранее спасибо!


 
Sergey13 ©   (2007-10-31 11:44) [1]

not exists попробуй


 
Правильный_Вася   (2007-10-31 11:46) [2]

SELECT t1.* FROM t1 LEFT OUTER JOIN t2 ON t1.pk=t2.pk
WHERE t2.pk IS NULL


 
DrPass ©   (2007-10-31 13:49) [3]


> Sergey13 ©   (31.10.07 11:44) [1]
> not exists попробуй

С Interbase так пробовать не надо. Она на каждую запись будет отдельный select делать. Только LEFT JOIN


 
Sergey13 ©   (2007-10-31 14:24) [4]

> [3] DrPass ©   (31.10.07 13:49)

> Она на каждую запись будет отдельный select делать.

Это нормальное поведение для любого сервера, а не только интербейс. Да, оператор достаточно затратный, не спорю. Но по первичному ключу вряд ли будут сильные тормоза. К тому же запрос скорее всего не часто выполняемый. Как вариант вполне приемлем. ИМХО.


 
DrPass ©   (2007-10-31 15:17) [5]


> Sergey13 ©   (31.10.07 14:24) [4]


> Это нормальное поведение для любого сервера, а не только
> интербейс

Ненормальное. "Правильный" оптимизатор распознает, что в данном случае можно выполнить объединение таблиц, и собственно сведет операцию к тому самому LEFT JOIN"у. А LEFT JOIN будет выполняться намного быстрее - проверь.


 
Sergey13 ©   (2007-10-31 15:37) [6]

> [5] DrPass ©   (31.10.07 15:17)

> "Правильный" оптимизатор распознает, что в данном случае
> можно выполнить объединение таблиц, и собственно сведет
> операцию к тому самому LEFT JOIN"у.

Сомнительно мне это, но проверять лень, да и не на чем.


 
Desdechado ©   (2007-10-31 15:46) [7]

> Sergey13 ©   (31.10.07 15:37) [6]
Оракл в случае не очень вычурных EXISTS преобразует.


 
Sergey13 ©   (2007-10-31 15:53) [8]

> [7] Desdechado ©   (31.10.07 15:46)
Врать не буду, не наблюдал.
Я вообще EXISTS не особо "люблю" пользовать, поэтому простых попадалось мало.



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

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

Наверх




Память: 0.48 MB
Время: 0.02 c
2-1203588470
oleg_teacher
2008-02-21 13:07
2008.03.23
Свое расширение на файл.


2-1204001712
None
2008-02-26 07:55
2008.03.23
Ширина вертикальной прокрутки в Tscrollbox


9-1166219183
Vito
2006-12-16 00:46
2008.03.23
TDXDraw мерцает при изменение размеров окна


2-1204021904
Miraj
2008-02-26 13:31
2008.03.23
Передача файла через интернет


15-1202674320
Small Donkey
2008-02-10 23:12
2008.03.23
В помощь програмисту