Тестирование BlaM включало все вызовы DB, выполненные WordPress. При совершении меньшего количества вызовов DB Вы будете видеть, что увеличение производительности кэшей кода операции еще более поразительно.
Питер
SELECT COUNT(*), HOUR(timecode)
FROM timecodeTable
GROUP BY HOUR(timecode);
Ваш набор результатов, учитывая приведенные выше данные, будет выглядеть так:
+----------+----------------+
| COUNT(*) | HOUR(timecode) |
+----------+----------------+
| 10 | 18 |
+----------+----------------+
Многие другие связанные функции можно найти здесь .
Править
Проведя несколько собственных тестов на основе результатов вашего комментария, я определил, что ваша база данных находится в состоянии эпического сбоя . :) Вы используете INT как TIMESTAMP. Это никогда не бывает хорошей идеей. Нет веских причин для использования INT вместо TIMESTAMP / DATETIME.
Тем не менее, вам придется изменить мой приведенный выше пример следующим образом:
SELECT COUNT(*), HOUR(FROM_UNIXTIME(timecode))
FROM timecodeTable
GROUP BY HOUR(FROM_UNIXTIME(timecode));
Редактировать 2
Вы можете использовать дополнительные предложения GROUP BY для достижения это:
SELECT
COUNT(*),
YEAR(timecode),
DAYOFYEAR(timecode),
HOUR(timecode)
FROM timecodeTable
GROUP BY YEAR(timecode), DAYOFYEAR(timecode), HOUR(timecode);
Обратите внимание, что для краткости я опустил FROM_UNIXTIME ().