Форум: "Базы";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
ВнизКакой запрос ОПТИМАЛЬНЕЕ Найти похожие ветки
← →
Sectey (2003-10-14 11:05) [0]уменя есть таблица:
Client
id - код клиента
subid - код группы клиентов
name - имя клиента
я знаю код клиента мне необходимо выбрать всех клиентов входящих в туже группу что и извесны.
Я знаю два способа написания запроса, Но не знаю какой из них ОПТИМАЛЬНЕЕ.
SELECT c.id, c.name from client c
WHERE c.subid in (SELECT cc.subid FROM client cc WHERE cc.id = :id GROUP BY cc.subid)
или
SELECT с2.id, с2.name
FROM Client с1 INNER JOIN Client с2 ON с1.subid = с2.subid
WHERE (с1.id =:id)
← →
Reindeer Moss Eater (2003-10-14 11:06) [1]План конкретного сервера расскажет про это
← →
Sectey (2003-10-14 11:07) [2]>Reindeer Moss Eater ©
???
← →
Reindeer Moss Eater (2003-10-14 11:08) [3]!!!
← →
Sectey (2003-10-14 11:13) [4]>Reindeer Moss Eater ©
>План конкретного сервера расскажет про это
Что это значит?
← →
asp (2003-10-14 11:14) [5]DBMS?
← →
Johnmen (2003-10-14 11:15) [6]
SELECT c.id, c.name from client c
WHERE c.subid = (SELECT cc.subid FROM client cc WHERE cc.id = :id)
← →
Sergey13 (2003-10-14 11:15) [7]Скорее всего будет
SELECT c.id, c.name from client c
WHERE c.subid=(SELECT cc.subid FROM client cc WHERE cc.id = :id)
← →
Anatoly Podgoretsky (2003-10-14 11:18) [8]А щачем тебе гадать, попробуй выполнить оба запроса и измерить время, не проще ли и главное данные будут реальные, а не того сервера.
← →
Sergey13 (2003-10-14 11:25) [9]2Johnmen © (14.10.03 11:15) [6]
8-) Обогнал.
2Anatoly Podgoretsky © (14.10.03 11:18) [8]
То же не факт (данные в кэше сервера). План то он понадежнее.
← →
asp (2003-10-14 11:44) [10]И все же неплохо было бы знать СУБД.
Эксперимент на DB2 показал, что на оба запроса формируется одинаковый план. И оба запроса оптимизируются к:
SELECT Q2.ID AS "ID"
FROM EXP.GOODS AS Q1, EXP.GOODS AS Q2
WHERE (Q1.ID = :?) AND (Q2.GROUP_GOODS = Q1.GROUP_GOODS)
Пардон за измененные наименования таблиц и столбцов :)
← →
Reindeer Moss Eater (2003-10-14 11:49) [11]Эксперимент на DB2 показал, что на оба запроса формируется одинаковый план.
Эксперимент проведен на таблицах не автора вопроса. Поэтому дает не обязательно адекватный результат
← →
asp (2003-10-14 11:56) [12]Reindeer Moss Eater © (14.10.03 11:49) [11]>
В общем случае зависит от фрагментирования таблиц, набора индексов и результатов статистики.
← →
Reindeer Moss Eater (2003-10-14 11:58) [13]Поэтому и было сказано [1]
← →
asp (2003-10-14 12:20) [14]Но это уже IMHO текущая работа администратора БД (статистики...) по поддержке базы данных. Вопрос уходит в сторону сопровождения БД.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c