|
|
|
| Я тут подумал, а различаются ли по скорости выборки запросы вида
SELECT * FROM `tbl` WHERE `string` = 'string' AND `num` = 10;
|
И
SELECT * FROM `tbl` WHERE `num` = 10 AND `string` = 'string' ;
|
То есть получается вроде бы в первом варианте будет искать все строки string равные 'string', а потом будет отсеивать полученное по `num`, а во втором сначала найдет все `num` = 10, а потом будет искать вреди них 'string'.
Если считать, что string = 'string' равняется кол-ву num = 10, то, по идее, первый вариант чуть быстрее или все-таки оптимизатор запросов исправит мой запрос для более быстрой выборки? | |
|
|
|
|
|
|
|
для: Unkind
(04.01.2007 в 15:49)
| | Лутший способ узнать - это протестировать: генерните с пату тысяч строк в таблицу и замерьте время (раз по 5 на запрос, чтоб потом усреднить). А потом всем расскажите.
Думаю многим будет интересно. | |
|
|
|
|
|
|
|
для: Unkind
(04.01.2007 в 15:49)
| | Если оптимизатор не распознаёт этой ситуации, да разница в скорости будует - второй запрос будет выполняться быстрее... но помоему оптимизатор уже давно такие вещи отслеживает. | |
|
|
|
|
|
|
|
для: cheops
(04.01.2007 в 17:58)
| | tonnal.
Да лень. :))) Мне еще нужно написать несколько скриптов, а я по форумам шляюсь...
cheops
Да, я ошибся, хотел сказать второй вариант будет побыстрее. Просто бывает довольно много параметров в WHERE, вот и подумал... | |
|
|
|