Прекрасно знаю, что COUNT(*) в InnoDB не торт... Но не до такой же степени!
Есть две таблицы:
| ... | tab1 | tab 2|
|-------------------|------|------|
| Число строк, млн | 3.2 | 4.0 |
| Объём на диске,ГБ | 6.0 | 7.6 |
| Число полей | 4 | 41 |
| Число индексов | 1 | 27 |
Вроде как никаких чудес, таблицы почти идентичны (не считая сложности второй), работа с ними идёт равно активно (они, вообще, для двух частей одних и тех же данных и 99% обращений идёт к обеим таблицам сразу).
Так вот, COUNT(*) во второй выполняется за ожидаемые 0.47 сек на холоде. Первая же таблица выполняет COUNT(*) за 7-10 минут!
Дело не в дисках, не в фрагментации — недавно вся БД переносилась на другой раздел, ничего не меняется...
Остальная работа (извлечение записей по индексам, JOIN, сортировки) работает отлично.
Есть мысли с чем такое поведение может быть связано?