Главная страница
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.015 c
6-82376
Checist [root]
2003-07-25 02:42
2003.09.25
Интеграция с HTML


11-82167
greka
2003-01-20 13:03
2003.09.25
Как зарегистрировать ActiveX


1-82327
kos
2003-09-13 15:39
2003.09.25
BitBtn


1-82296
lipskiy
2003-09-13 17:36
2003.09.25
Ассемблерная строчка не компилится под D7, под D5 нормально


14-82485
Igorek
2003-09-06 18:55
2003.09.25
Опрос: какой секс предпочитают программисты?