我有一個MySQL查詢:加快MySQL查詢與組由
SELECT date(FROM_UNIXTIME(time)) as date,
count(view) as views
FROM ('table_1')
WHERE 'address' = 1
GROUP BY date(FROM_UNIXTIME(time))
其中
view
:自動遞增和主鍵,(INT(11))
address
:指數,(INT (11))
time
:指數,(INT(11))
總的行數表中的是:270k
此查詢已執行緩慢,在MySQL-的slow.log我:
Query_time:1.839096
Lock_time:0.000042
Rows_sent:155
Rows_examined:286435
與使用EXPLAIN
的面貌如下:
id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE table_1 ref address address 5 const 139138 Using where; Using temporary; Using filesort
如何改進這個查詢來加速執行?如果我在PHP中更改日期也許會更好?但我認爲在PHP中將日期作爲時間戳,然後轉換爲人類可讀的,並且使得「group by」將花費更多時間,然後在MySQL中執行一個查詢。
也許有人知道如何使這個查詢更快?
你試過刪除FROM_UNIXTIME嗎? –