![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czesc, mam takie pytani: mam tabele w ktorej jest dosc sporo danych. Mam przygotowany widok ktory mi z niej wyciaga jakies dam dane, max (czas), group by 2 pola oraz 1 join tam jest. Widok wyglada mniej wiecej tak:
Zastanawiam sie, co w tym przypadku bedzie szybsze - czy za kazdym razem robienie select'a z tej tabeli (czyli parta kodu zaczynajaca sie od SELECT max..) czy tez utowrzenie takiego widoku i robienie z niego selecta. Czy ten widok nie zabiera mi jakiegos cennego czasu? Lub czy moge sprawdzic (jak?) rzeczywisty czas wykonania zapytan? Bo z tego co sie orientuje to mysql cachuje zapytania, wiec wyniki ktore dostaje nie sa miarodajne. Bede wdzieczna za wskazowki, pzdr, misty |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czesc, walczymy o sekundy. Pole na ktorym jest max to jest pole typu datetime i na tym polu mam indeks. Ale jak pisalam - problemem jest groupBy. Samo zapytanie trwa 12 sekund. Gdy zas usune groupBy czas mi spadl do 3,6sekundy.. Wiec roznica jest ogromna! Jedyne co mi przychodzi do glowy to "select *" i obrobka po str php. Chociaz tego chcialabym uniknac :/
Jesli chodzi o aktualizacje danych - na tej tabeli nie ma update'ow, sa tylko inserty. Ile tego wchodzi dziennie, niestety nie wiem, ale nie jakos duzo, mysle ze kilkadziesiat insertow dziennie. Usuniecie funkcji max tez oczywiscie przyspiesza. Z 12sekund spadlo mi na 8.9 sekund. Jesli chodzi o ilosc danych to w tym momencie jest ich 1,074,027 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 08:14 |