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

Вниз

Порядок проверки условий в запросе   Найти похожие ветки 

 
jack128 ©   (2003-09-02 19:42) [0]

Скажите пожалуйста, вот есть некий запрос
select ....
from ...
where <условие1> and <условие2>
В каком порядке будут проверятся эти условия? Так как я написал в запросе или сервер сам решит, что лудше???


 
kuchumovkv ©   (2003-09-02 20:08) [1]

Пардон за вопрос, а какая разница, если он все равно будет проверять их оба и выбирать записи только с выполнением обоих. Может, я что не понял в вопросе. Поясни.

P.S. Если б я был сервером, я бы пробегал по всем полям подряд, отмечал для себя первое попавшееся из необходимых для проверки, проверял, писал где-нибудь в памяти о результате флаг, и т.д. до FieldsCount. Мне было бы так проще. Как работают, твои дрова, к сожалению, не знаю.


 
kuchumovkv ©   (2003-09-02 20:08) [2]

Пардон за вопрос, а какая разница, если он все равно будет проверять их оба и выбирать записи только с выполнением обоих. Может, я что не понял в вопросе. Поясни.

P.S. Если б я был сервером, я бы пробегал по всем полям подряд, отмечал для себя первое попавшееся из необходимых для проверки, проверял, писал где-нибудь в памяти о результате флаг, и т.д. до FieldsCount. Мне было бы так проще. Как работают твои дрова, к сожалению, не знаю.


 
jack128 ©   (2003-09-02 20:25) [3]

Пусть <условие1> := Field1 = 10
<условие2> := Field2 = 15
Если по Field2 есть индекс, а по Field1 нету, то будь бы я сервером я бы искал по индексу на соответствие условию2, а потом проверял на соответствие условию1.. Но я не сервер ;-) Потому и спрашиваю


 
Deniz ©   (2003-09-03 06:49) [4]

Вот ты сам себе и ответил, пиши условия по наличию индексов, причем если индекс из нескольких полей, то их порядок надо сохранить в условиях.
А можно еще и план написать для оптимизатора


 
jack128 ©   (2003-09-03 10:40) [5]

собственно я хотел услышать вот эти слова
> если индекс из нескольких полей, то их порядок надо сохранить
> в условиях
поесть порядок проверки условий определяется в запросе в разделе where.

> А можно еще и план написать для оптимизатора
К сожелению еще не совсем разобрался, пока "в процессе"

Спасибо


 
stone ©   (2003-09-03 10:52) [6]


> jack128 © (03.09.03 10:40) [5]


Вообще, многое зависит от СУБД. Наприиер, MSSQL сам строит план оптимизации запросов и, соответственно, порядок условий становится не так важен. При этом будут выбраны и подключены индексы, которые сервер посчитает наиболее подходящими.



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

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

Наверх




Память: 0.48 MB
Время: 0.018 c
1-82313
Михаил
2003-09-15 16:08
2003.09.25
Ошибка


1-82309
pec2
2003-09-13 22:25
2003.09.25
перевод значения из string в pchar


14-82476
Карлсон
2003-09-05 16:23
2003.09.25
рассказ Бредбери?


14-82406
Delphi5.01
2003-09-04 21:48
2003.09.25
Angliski internacionalni iazik?


11-82165
Filat
2003-01-18 13:33
2003.09.25
Не пойму как правильно поставить KOL & MCK.... :(((