wtorek, 4 listopada 2014

Funkcja DANE() - parametryzacja WHERE'a i FROM'a w SQL w prostej funkcji

Zrobiłem sobie tabelę 4M rekordów, gdzie data min=2013.01.01 a    
max 2014.02.jakisdzien co ileś tam sekund
Podzieliłem ją na 14 tabel miesięcznych bo tyle wyszło - każda    
ma 310.000
Zapytanie SELECT SUM(ID) FROM t01 WHERE    
FORMAT(data,'yyyy.mm.dd')='2013.01.01'

TRWA OK. 2 SEKUND
ZERO indeksu, ZERO partycji, głupi Access i to jeszcze .mdb

Sztuczka jest jedna - podawany PARAMETR daty (konkretnie: miesiąc)    
wpisuje się jednocześnie w WHERE'a i we FROM'a
Wiem, wiem, nie wszystkie narzędzia to potrafią. Cóż...

Jakbym jeszcze wydzielił to na tygodnie albo dni, byłby błysk do    
kwadratu.

PS
Ponieważ nie lubię być gołosłownym...
http://afin.net/webcasts/ZZZ_MojaFunkcja_PodzialDanychNaMiesiace.swf

Brak komentarzy:

Prześlij komentarz