Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.012 c
3-82099
Xmen
2003-09-04 15:48
2003.09.25
MySQL


4-82570
Superlab
2003-07-24 17:38
2003.09.25
создание модулей


3-82054
SkullNet
2003-09-02 18:12
2003.09.25
Определение кол-ва записей отображаемых DBGrid


1-82184
BustaBoss
2003-09-12 05:34
2003.09.25
Передача данных


3-82109
Andrey-kor
2003-09-06 18:12
2003.09.25
Переиндексация dbf-файлов в Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский