Странно ведет запрос при использовании where date i group by

yantar

Новичок
Странно ведет запрос при использовании where date i group by

Есть таблица (около 800К строк), делаю запрос - он выполняется 3-4 сек.
Здесь пишу сильно упрощенный запрос (group by мне нужен для группировки, когда были джойны с другими таблицами).

PHP:
SELECT SQL_NO_CACHE *
FROM `items`
WHERE `published` =1
AND `pubDate` = '2010-09-08'
GROUP BY id
3-4 сек


Убираем group by id - Все отлично - 0.0043 сек
PHP:
SELECT SQL_NO_CACHE *
FROM `items`
WHERE `published` =1
AND `pubDate` = '2010-09-08'

Подумал, что причина в group by, но если убрать `pubDate` = '2010-09-08' a group by оставить - все прекрасно - 0.0018 сек
PHP:
SELECT SQL_NO_CACHE *
FROM `items`
WHERE `published` =1
group by `id`
Запрос тормозит только при использовании и group by и where `pubDate` = '2010-09-08'

id - integer, primary key, auto_increment
pubDate - date, index.
published - tinyint(1), index.
 

yantar

Новичок
Автор оригинала: Вурдалак
Нужен индекс KEY(published, pubDate), а не по одиночке.
Да нет , это не в таком ключе дело.

Кстати посмотрел локально - у меня запросы с group by отлично работают, а на хостинге долго.

И как то странно explain локально показывает rows 1984, а на сервере 9802 rows при тех же самых данных.

Локально - 4.1.22
Хостинг - 5.1.48
 

dimagolov

Новичок
И как то странно explain локально показывает rows 1984, а на сервере 9802 rows при тех же самых данных.

Локально - 4.1.22
Хостинг - 5.1.48
и тебя это удивляет учитывая разницу версий?
 

yantar

Новичок
Автор оригинала: dimagolov
и тебя это удивляет учитывая разницу версий?
Удивляет, почему explain показывает разное количество данных на одном и том же запросе.

Объсните пожалуйста и если знаете, почему странно ведет себя поле типа DATE в условии.
 
Сверху