[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Группировка по timestamp
Страницы: 1, 2, 3
Kusss
twin
DATE(`date`) AS `date2`
Медленее CAST .

12345
Странно что индекс не пашет, поля то родственные. Ещё обратил внимание что у тебя тип в EXPLAIN - all , а у меня range.

Я разобрался !!!
SELECT id_building, COUNT(1) AS cnt, CAST(`date` AS DATE)  AS date2
FROM `building_history`
FORCE INDEX ( date )
WHERE `action` = 1 AND date > DATE_ADD(NOW(), INTERVAL - 30 DAY)
GROUP BY date2, `id_building`
index на date оставь. Нужно принудительно указывать его использовать
Kusss
Добавлю.
Для сравнения можно посмотреть количество строк в EXPLAIN

ещё добавлю.
можно составной index сделать, action и date
twin
Цитата (Kusss @ 12.10.2016 - 15:45)
Медленее CAST

Ну я и говорил, что вряд ли поможет.
Цитата (Kusss @ 12.10.2016 - 15:45)
Странно что индекс не пашет, поля то родственные.
Индексы в группировках не работают.

Кстати, вы зря пренебрегаете косыми кавычками. Это не просто прихоть такая у мускула, он с ними быстрее работает.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Kusss
Цитата (twin @ 12.10.2016 - 19:48)
Кстати, вы зря пренебрегаете косыми кавычками.
можно подробнее и с примером с ними и без них? А то я не понимаю.
twin
Ну вот тут:
SELECT id_building, COUNT(1) AS cnt, CAST(`date` AS DATE)  AS date2

SELECT `id_building`, COUNT(1) AS `cnt`, CAST(`date` AS DATE)  AS `date2`

и так далее.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Kusss
Понятно. Правда это нужно для, ну очень больших проектах. Чтобы увидеть разницу.
Я стараюсь писать с ковычками, правда по причине несколько другой. Чтобы небыло ошибок с зарегистрированными словами.
twin
Цитата (Kusss @ 12.10.2016 - 15:48)
ещё добавлю.
можно составной index сделать, action и date

Он убрал условие для даты. Если там сейчас поставить
FORCE INDEX ( date )
, то перестанет работать индекс action. А date все равно использоваться не будет.
Цитата
Я стараюсь писать с ковычками, правда по причине несколько другой. Чтобы небыло ошибок с зарегистрированными словами.
Вот потому и медленнее работает без них. Сначала пытается интерпретировать зарезервированные слова, потом только отрабатывает как с полями. Проекты тут не особо причем. Скорее объем таблиц важен.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Kusss
12345
ты попробуй составной индекс
ну и если не сложно, потести запрос и индексом по дате. с FORCE INDEX ( date )
twin
Kusss
Объясни, зачем ему в этом запросе
SELECT COUNT(1), DATE(`date`) AS date2
FROM `building_history`
WHERE `action` = 1
GROUP BY date2
индекс на дату, а тем более принудиловка?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Kusss
именно для этого запроса - не нужно.
а вот для этого, который был изначально, ещё как нужен.
WHERE `action` = 1 AND date > DATE_ADD(NOW(), INTERVAL - 30 DAY) 
twin
Ну так он изменил давно, а ты с толку сбиваешь. smile.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.