|
| |
|
|
| |
для: cheops
(17.06.2006 в 22:29)
| | | Большое спасибо. | |
| |
|
|
| |
|
|
| |
для: Ziq
(17.06.2006 в 19:44)
| | | В общем нет... работа оптимизатора проходит достаточно быстро, даже если запрос очень громоздкий (ведь его всё равно нужно интерпретировать, а оптимизатор очень здорого интегрирован с интерпретатором). Кроме того оптимизатор не принимает никаких корректировок в спорных вопросах, т.е. когда он "не уверен", что его действия заведомо приведут к ускорению вычислений. | |
| |
|
|
| |
|
|
| |
для: cheops
(17.06.2006 в 01:13)
| | | Ведь это по идеи не правильно, потому что замедляет скорость выполнения запроса. Не лучше бы было оставить эту заботу программисту. Как Вы считаете? | |
| |
|
|
| |
|
|
| |
для: Ziq
(16.06.2006 в 21:30)
| | | Быстрее конечно первый вариант, так как in_array() в этом случае даже не будет вычиляться - это известный программистский приём, горячо любимый Perl-овцами or die() - из этого же разряда. Однако заботится об этом не следует - сейчас интерпретаторы, а особенно компиляторы стараются распознать такую ситуацию и ускорить вычисления за счёт такого приёма. В MySQL дела обстоят ещё хитрее - оптимизатор даже пытается переиначить порядок объединения, чтобы уменьшить объём вычилений - если порыться в системных переменных можно даже откопать парочку, влияющих на поведение оптимизатора при поиске оптимальных решений. | |
| |
|
|
| |
|
|
| |
для: Ziq
(16.06.2006 в 22:31)
| | | Ну проверил бы давно...
Скажешь потом что вышло.
И запусти скрипт хотябы несколько раз | |
| |
|
|
| |
|
|
| |
для: valenok
(16.06.2006 в 22:20)
| | | Результат то понятно что тот же, все упирается в скорость. | |
| |
|
|
| |
|
|
| |
для: Ziq
(16.06.2006 в 22:07)
| | | Не думаю что php понимает.
А так разницы нету - результат всегда тот же. | |
| |
|
|
| |
|
|
| |
для: valenok
(16.06.2006 в 21:37)
| | | Не совсем правильно приведен пример. Тут лучше было бы привести такой пример 0 * (100000 + 2000000). По правилам первым надо вычислить выражение в скобках, но человек то понимает, что можно не вычислять, а сразу дать ответ 0. Так и тут при условии AND дальше можно не вычислять, потому что первое выражение false. Думаю логика понятна. Но есть ли такая разница в PHP и MySQL? | |
| |
|
|
| |
|
|
| |
для: Ziq
(16.06.2006 в 21:30)
| | | Не должно быть...
Есть разница между 2*5 и 5*2. а в мускуле есть такая разница? | |
| |
|
|
| |
|
|
| | Объясните есть ли разница в порядке логических выражений? Объясню на примере
if(false and in_array("hhh",$arr))
и
if(in_array("hhh",$arr) and false)
|
что быстрее
Как дела обстоят в MySQL?
Заранее всем ОГРОМНОЕ спасибо. | |
| |
|
|
|