SELECT COUNT () vs mysql_num_rows ();

У меня есть большая таблица (60+) миллионов записей.

Я использую PHP-скрипт для навигации по этой таблице.

PHP скрипт (с нумерацией страниц) загружается очень быстро, потому что:

Таким образом, движок стола - InnoDBSELECT COUNT() очень медленно иmysql_num_rows() это не вариант, поэтому я храню общее количество строк (число, которое я использую для создания нумерации страниц) в отдельной таблице (я обновляю эту записьtotal_rows=total_rows-1 а такжеtotal_rows=total_rows1+1 в течениеDELETE а такжеINSERT).

Но вопрос в том, что делать с нумерацией страниц для результатов поиска?

Прямо сейчас я делаю это с 2 шагами:

1.

$condition = " fname='rinchik' ";
$result = "SELECT * FROM my_large_table WHERE" . $condition;

Здесь я получил все результаты поиска из базы данных.

2. Теперь мне нужно посчитать эти результаты, чтобы создать нумерацию страниц. Я делаю это:

$condition; <- we already have this from the step 1
$result_count = "SELECT COUNT(id) FROM my_large_table WHERE" . $condition;

И это довольно медленно.

Будет ли лучше, если я сделаю это так (всего одним шагом)?

$condition = " fname='rinchik' ";
$result = "SELECT * FROM my_large_table WHERE" . $condition;
$result_count = mysql_num_rows($result);