|
|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Dmitry Kuzmenko 2:5020/400 06 Mar 2001 18:50:29 To : All Subject : Re: MySQL --------------------------------------------------------------------------------
Hello, Ilya!
Ilya Zvyagin wrote:
> >select u.*
> >from users u
> >join group g
> >on u.id = g.id
>
> Дима, ты как минимум забыл фразу DISTINCT.
> Вот чтоб JOIN не делать и нужен IN или EXISTS.
distinct здесь абсолютно ни к чему. Это уже по вкусу надо
удалять дубликаты полей. И вообще, в Interbase
Join предпочтительнее чем IN или EXISTS.
Собственно, приведенный в исходном письме случай - это
явный (в смысле неявный) JOIN, выраженный через IN.
Оптимизатор может его рассматривать как перебор
основной таблицы целиком и индексная выборка значений в IN.
EXISTS тоже здесь ничего путного не добавит. А JOIN быстренько
выдаст результат, да еще и с использованием индексов по обеим
таблицам.
--
Dmitry Kuzmenko, Epsylon Technologies.
TechSupport Manager. InterBase support.
Welcome to http://ib.demo.ru/ (1251)
(095) 530-28-06.
--- ifmail v.2.15dev5
* Origin: Epsylon Technologies (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/2108d7c388f3.html, оценка из 5, голосов 10
|