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;