SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.04.2009 02:20:02

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 848

Как бы сделать хороший составной ключ на GROUP BY

Есть запрос вида SELECT COUNT(*) FROM t WHERE column1 < .. AND column1 > .. GROUP BY column2

column1 - TIMESTAMP, column2 - INT. Использует только ключ по col1. В результате Using where; Using temporary; Using filesort.
Есть также составной ключ (column1, column2), но он не используется.
Можно ли как-нибудь ключ получше сделать? (по-моему, нельзя.. но вдруг я что-то упустил)

Неактивен

 

#2 08.04.2009 02:22:30

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Как бы сделать хороший составной ключ на GROUP BY

нельзя, после операции меньше ключ больше не использутеся

Неактивен

 

#3 09.04.2009 22:50:12

EugeneTM
Гуру
Зарегистрирован: 11.04.2008
Сообщений: 89

Re: Как бы сделать хороший составной ключ на GROUP BY

Посмотри в сторону BETWEEN, там вроде с индексами не так все запущено.

Неактивен

 

#4 10.04.2009 02:05:16

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 848

Re: Как бы сделать хороший составной ключ на GROUP BY

А что, разве BETWEEN и больше/меньше - не то же самое?

Неактивен

 

#5 10.04.2009 12:28:59

Magz
Гуру
Откуда: Москва
Зарегистрирован: 18.09.2007
Сообщений: 112

Re: Как бы сделать хороший составной ключ на GROUP BY

Тоже самое. Индекс по BETWEEN так же как и по "<" и ">" дает range в explain

Неактивен

 

#6 10.04.2009 17:38:41

EugeneTM
Гуру
Зарегистрирован: 11.04.2008
Сообщений: 89

Re: Как бы сделать хороший составной ключ на GROUP BY

А прогноз есть сколько мах записей SELECT DISTINCT column2 FROM t WHERE column1 < .. AND column1 > ..  возвращать будет?
И сколько в t ожидается?

Отредактированно EugeneTM (10.04.2009 17:45:51)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson