Почему select count(*) возвращает ноль, а обычный select нормальную выборку?

Добрый день, коллеги.
Возниклас такая проблема.
Обновил mysql 5.6 (обновилась только минорная цифра, сейчас 5.6.27 из официально репозитория mysql, то есть до этого была другая 5.6.* версия).
И теперь отвалился простой select count(*) запрос.
Полный листинг:
SELECT COUNT(*) as `count` FROM `package` WHERE `active`=1 AND `deleted`=0
Запрос возвращает ноль.

Такой запрос
SELECT * FROM `package` WHERE `active`=1 AND `deleted`=0
возвращает нормальную выборку из 900+ записей (всего в таблице ~1000 строк)

Если выполнить только с одним из условий, например
SELECT COUNT(*) as `count` FROM `package` WHERE `deleted`=0
или
SELECT COUNT(*) as `count` FROM `package` WHERE `active`=1
то возвращается нормльное значение (900+).

После optimize table примерно минут на 10 база начинает возвращает правльное значение. Но через 10 минут снова ноль.
Раз в минуту в таблице обновляется одна строка. Новых строк не появляется.
В чём может быть проблема?
  • Вопрос задан
  • 378 просмотров
Пригласить эксперта
Ответы на вопрос 1
@etc83
Software Engineer
Попробуйте вместо count(*) использовать count(ключевое поле)

или же почитайте, есть кое какие фиксы по этому поводу ссыль
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы