Что будет работать быстрее?

dimonbes

Новичок
Что будет работать быстрее?

Подскажите, плз, что будет работать быстрей:

$query = "SELECT my_field from my_table where my_field =' ' ";
...
...
echo $empty;// количество строк с пустыми значениями
$query = "SELECT my_field from my_table where my_field !=' ' ";
...
...
for (...)
{
//вывод строк с НЕпустыми значениями
}

ИЛИ:
$query = "SELECT my_field from my_table ";
$empty=0;
...
...
for (...)
{
...
if(стока не пустая)
{
//вывод строк с НЕпустыми значениями
}
else $empty++;// количество строк с пустыми значениями
}
echo $empty;// количество строк с пустыми значениями
 

_RVK_

Новичок
А проверить?

-~{}~ 30.08.05 14:48:

Да, кстати. Если тебе нужно поститать ТОЛЬКО количество записей в выборке, используй mysql функцию COUNT(*)

-~{}~ 30.08.05 14:49:

Те, в общем случае, первый вариатнт будет быстрее, только перепеши первый запрос.
 

dimonbes

Новичок
Т.е., я так понимаю в общем случае, два раза сделать выборку с разными условиями будет быстрей, чем одна с вложенной проверкой?
 

_RVK_

Новичок
dimonbes
Нет, ты не правильно понял. COUNT не ВЫБИРАЕТ данные.
Во втором случае ты выбираешь ВСЕ данные. В первом же, если перепишеш первый запрос, будешь выбирать только НУЖНЫЕ
 

dimonbes

Новичок
Данный случай я понял, спасибо, а если, например в столбце есть какое-нибудь значение, при условии которого нужно будет выполнить какое-нибудь действие (переместить это значение в другую таблицу, например), отличное от всех остальных, тогда как?
 

_RVK_

Новичок
Кстати, если уж совсем оптимизировать, то могу предположить что SELECT COUNT(*) FROM my_table WHERE my_field =' ' будет медленнее SELECT COUNT(*) FROM my_table

Но это предположение спорно и требует проверки

-~{}~ 30.08.05 15:12:

Автор оригинала: dimonbes
Данный случай я понял, спасибо, а если, например в столбце есть какое-нибудь значение, при условии которого нужно будет выполнить какое-нибудь действие (переместить это значение в другую таблицу, например), отличное от всех остальных, тогда как?
В каждом случае нужно смотреть одельно. Приведи пример тебе скажут как лучше.
 

dimonbes

Новичок
Да уж, надо будет на автомате сделать таблицу записей милиона 2 и проверить...
Я думал, может кто сталкивался с подобным
Проверю - напишу
 
Сверху