Just do it!
Google-группа по анимации
Подпишитесь на Обсуждение программы для 2D-анимации Synfig Studio.
Электронная почта:
Что сейчас читаю
Друзья
dyadya-gad.ru
«О Гадах, гадких друзьях и тому подобной гадской ерунде»
Сайт о наших походах, с фотографиями.
danich.ru
Man, howto and random stuff
Вишлист
My Wishlist - djoa
Статистика Revolvermaps
Ещё
Академическая соционикаАкадемическая соционика.
«Нет ничего практичнее хорошей теории». Роберт Кирхгоф
Школа Н. Н. Мельниковой и Д. М. Полева. Я здесь училась.
РАЗДРАЖЕ - это комикс
Готовим дома
Вкусные, доступные и оригинальные рецепты домашней кухни.
Sound composition.
Flash-проигрыватель различных звуков, гибко настраиваемый.
Композиция по ссылке настроена под звуки леса :)
Создан: 2009-11-02, 10:20:57
Изменён: 2011-03-09, 23:50:29

FOUND_ROWS(): Подсчёт общего количества строк выборки в mySQL при использовании LIMIT.

Автор Джойка

Пример запросов:

Mysql> SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE column > 1 LIMIT 0, 50;
Mysql> SELECT FOUND_ROWS();

Здесь есть свои подводные камни. Об этом написана статья на хабре:
http://habrahabr.ru/blogs/mysql/64655/

И ещё момент.

Видела примеры использования наподобие:

$res = mysql_query('SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE column > 1 LIMIT 0, 50');

$data = array();
while($row = mysql_fetch_assoc($res))
	$data[] = $row;

$cnt = 0;
$res_cnt = mysql_query('SELECT FOUND_ROWS()');
list($cnt) = mysql_fetch_row($res_cnt);

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

$res = mysql_query('SELECT * FROM table WHERE column > 1 LIMIT 0, 50');

$data = array();
while($row = mysql_fetch_assoc($res))
	$data[] = $row;

$cnt = count($data);

Понятно, что есть случаи, когда именно SELECT FOUND_ROWS() нужно использовать.
Но не в таких ситуациях, наверное.
Или я не права? Если не права — со временем будет возможность мне об этом написать. Пока нету. :ь


 
djoa, сен-2009 : now
Читать djoa_ru в Твиттере Иконка сайта сделана при помощи favicon.ru