mysql> select CONCAT(YEAR(FROM_UNIXTIME(zeit)),'-',MONTH(FROM_UNIXTIME(zeit))) as datum from troll_traffic GROUP BY datum ORDER BY zeit DESC;
+--------+
| datum |
+--------+
| 2003-4 |
| 2003-3 |
+--------+
2 rows in set (4.90 sec)
Die Spalte zeit enthält die Unixzeit als Timestamp und ist vom Typ varchar(16), ein Index liegt auf der Spalte. Es sind ca 490.000 Einträge in der Tabelle. Zum Einsatz kommt ein Intel(R) Celeron(R) CPU 1.80GHz mit 512 MB Ram. Query Cache etc sind schon auf hohe Werte eingestellt.
select FROM_UNIXTIME(zeit, '%Y-%c') as datum from troll_traffic GROUP BY datum ORDER BY zeit DESC;
+--------+
| datum |
+--------+
| 2003-4 |
| 2003-3 |
+--------+
2 rows in set (8.06 sec)
Gibt es einen anderen Ansatz aus allen timestamp Einträgen die Monate rauszubekommen?