Ответ 1
Если достаточно аппроксимации, вы можете использовать:
show table status like 'tablename'
Каков способ наиболее эффективно подсчитать общее количество строк в большой таблице? У меня есть таблица с 23 миллионами строк, и следующий запрос занимает более 30 секунд на рабочем оборудовании:
select count(*) from tablename;
Кажется, что MySQL должен выполнять сканирование таблицы, но это не похоже, что это необходимо.
Если достаточно аппроксимации, вы можете использовать:
show table status like 'tablename'
В InnoDB количество строк таблицы медленное.
MyISAM, с другой стороны, имеет счетчик строк как свойство таблицы, что делает ваш запрос очень быстрым в MyISAM.
Использовать запрос кеша SELECT SQL_CACHE count (column_name) из таблицы