Известно, что innodb работает медленно
SELECT count(*) FROM Table
Поэтому я избегал этого. Но я заметил, что всякий раз, когда я вхожу в phpmyadmin, он автоматически выполняет count(*)
для моей таблицы innodb 19 строк, что может занять до минуты. Тем не менее, он не инициирует это count(*)
для другой таблицы innodb с 4 миллионами строк.
Другая подсказка, в phpmyadmin, в столбце «Записи», число записей для таблицы из 19 тысяч строк показывает точное значение, тогда как в таблице из 4 миллионов строк указано приблизительное значение.
Я понимаю, что таблица innodb дает оценку количества строк. Но похоже, что для таблицы меньшего размера, в данном случае с 19k строками, phpmyadmin решает сделать count(*)
вместо того, чтобы просто давать оценку.
Вопрос в том, есть ли способ остановить phpmyadmin от такого подсчета в моей таблице innodb? Можно просто давать оценку, а не делать дорогостоящий подсчет строк всякий раз, когда я обновляю свой экран phpmyadmin.
20000
меньшим числом, например300
, сохраните файл, обновите phpmyadmin и все готово.Ответы:
Отредактируйте config.inc.php и измените настройку MaxExactCount .
источник
phpMyAdmin будет выполнять только факт,
select count(*)
если предполагаемое количество строк находится в пределах установленного порога (по умолчанию 500k в зависимости от вашей версии):Просто установите порог на меньшее число, чтобы избежать бессмысленных
select count(*)
с.источник