Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
3-82093
Слава
2003-09-04 19:08
2003.09.25
ClientDataSet


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


14-82494
Mike Kouzmine
2003-09-05 12:01
2003.09.25
Все что русские делают руками - покупать нельзя. Однозначно.


3-82113
LeSS
2003-09-04 16:41
2003.09.25
Нужно создать таблицу dbf


3-82056
Рома
2003-09-02 20:09
2003.09.25
Подскажите чем можно интербес базу просмотреть?




   Наверх