Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Что выбрать: mysql_num_rows или COUNT(*)? (whiteowl) 09/06/2003 - 11:21:28
      Re: Что выбрать: mysql_num_rows или COUNT(*)? (Brasileiro) 09/06/2003 - 13:09:41
      Re: Что выбрать: mysql_num_rows или COUNT(*)? (Alex) 09/06/2003 - 13:24:34
      Re: Что выбрать: mysql_num_rows или COUNT(*)? (alex) 25/04/2007 - 16:44:00

> Original message text:
> From: whiteowl - 09/06/2003 - 11:21:28
> Subject:Что выбрать: mysql_num_rows или COUNT(*)?
> -----------------
> Задача: нужно узнать кол-во элементов после выборки.
> Пользуем PHP.
>
> Какой из этих вариантов будет быстрее/логичнее/лучше для такой задачи?
> 1. $res=mysql_query("SELECT * FROM table");
> $count=mysql_num_rows($res);
> 2. $res=mysql_query("SELECT COUNT(*) FROM table");
> $row=mysql_fetch_array($res);
> $count=$row[0];
>
> Мне кажется, что лучше использовать первый. Я прав?
>


From: Brasileiro - 09/06/2003 - 13:09:41
Subject:Что выбрать: mysql_num_rows или COUNT(*)?
-----------------
Дело в том, что в первом случае у тебя ресурс выделяется под селект (что обычно плохо).
У них есть свой механизм подсчета... Если ты в селект вставишь словечко SQL_CALC_FOUND_ROWS, то будет доступна функция FOUND_ROWS();
Екзампл:
$res = mysql_query("select SQL_CALC_FOUND_ROWS fields where _where_condition from table";
........................
$res = mysql_query("SELECT FOUND_ROWS();");
........................
Это лучшее, потому что даже если ты скажешь для селекта LIMIT n,m , то SELECT FOUND_ROWS(); выдаст количество строк без лимита!!! Т. Е. сколько их вообще есть, удовлетворяющих запросу.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
31370



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |