Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> czy widok moze spowolnic zapytanie?
misty
post
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:

  1. CREATE OR REPLACE VIEW test_v AS SELECT max(start_date), field_1, field_2, field_3, field_4
  2. FROM test_table_1
  3. LEFT JOIN test_table_2 ON test_table_2.id = test_table_1.test_table_2_id
  4. WHERE test_table_2_id IN (1,2,3,4,5,6,7,8,9,10)
  5. GROUP BY field_1, field_2


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
misty
post
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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 08:14