Krzysztof
Białkowski
Software Developer
(C# .NET)
Temat: [Mysql] Rekordy z dnia poprzedniego a sprawa indeksow
Hej,Nie wiem czy cos takiego idzie w ogole zrobic ale moze ktos ma pomysl:
Mam tabelke
mysql> select * from test.daty;
+----+---------------------+
| id | data |
+----+---------------------+
| 1 | 2012-09-18 13:24:35 |
| 2 | 2012-09-17 13:24:35 |
| 3 | 2012-09-19 13:24:35 |
+----+---------------------+
index na kolumnie data
Chcialbym teraz wylistowac wszystkie rekordy z poprzedniego dnia
select * from test.daty where data=subdate(current_date,1);
Empty set (0.00 sec)
mysql> select * from test.daty where DATE_FORMAT(data,'%Y-%m-%d')=subdate(current_date,1);
+----+---------------------+
| id | data |
+----+---------------------+
| 1 | 2012-09-18 13:24:35 |
+----+---------------------+
1 row in set (0.00 sec)
i wszystko fajnie, tylko ze przy takim zapisie nie beda uzyte indeksy na kolumnie data
Istnieje moze jakis sposob (poza indeksowaniem DATE_FORMAT(data,'%Y-%m-%d')) na to aby zapytanie uzylo indeksu ?
Ewentualnie inna metoda na wylistowanie ?