Почему COUNT не считает?

Не могу понять почему это происходит.

Такой запрос выводит данные (несколько строк):

SELECT
    a.*
FROM 
    `catalog_products` a, 
    `catalog_categories` b ,
    `catalog_products_63` e
WHERE
    a.`category_id` = b.`id`
    and
    b.`id` = 1678
    and
    a.`brand_id` = 336
    and
    a.`id` = e.`product_id`
    and 
    a.`status` = 1


А такой показывает, что кол-во 0:

SELECT
    COUNT(a.`id`)
FROM 
    `catalog_products` a, 
    `catalog_categories` b ,
    `catalog_products_63` e
WHERE
    a.`category_id` = b.`id`
    and
    b.`id` = 1678
    and
    a.`brand_id` = 336
    and
    a.`id` = e.`product_id`
    and 
    a.`status` = 1


А вот после этого все начинает работать как надо:

OPTIMIZE TABLE `catalog_products`

В чем может быть дело?

Спасибо
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ответы на вопрос 1
@mega-host Автор вопроса
Все, проблема найдена. По полю category_id был одиночный и составной индекс. Удаление одиночного индекса восстановило корректность работы запросов. Не дублируйте индексы))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы