![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czas wykonywania średnio 3 sekundy! i myślę, że przez to przez to serwer mysql wyciąga 100% procesora... explain: (IMG:http://i.imgur.com/sXDv8Su.png) Proszę o pomoc Ten post edytował aras785 20.08.2014, 11:11:23 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Sieczka..... (IMG:style_emoticons/default/wink.gif)
Te podzapytanie: LEFT JOIN (SELECT prod_id,SUM(stock) AS ilosc FROM cechy_magazyn WHERE stock>0 GROUP BY prod_id) cm ON cm.prod_id=produkty.id AND cm.ilosc>0 jest ci potrzebne? Wywal je i sprawdz jak sie bedzie wowczas wykonywalo zapytanie. Wydaje mi się, że to może to podzapytanie ostro zamulac. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nospor pomyliłem zapytania. Zrobiłem aktualizacje pierwszego posta. Niby proste zapytania, a tak zamula. Chodzi o LEFT JOIN... i nie wiem dlaczego tak zwalniają.
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Jestes pewien ze teraz mowa o wlasciwym zapytaniu?
Wywal: DISTINCT SQL_CALC_FOUND_ROWS przyspieszylo? edit: Zrob tez odwrotny myk, czyli zostaw to co kazalem ci wywalic, a wywal tego CASE. Jest tam od groma operacji i zanim zadziala DISTINCT to to wszystko musi byc wyliczone. Jesli ta opcja przyspieszy, to wywliczaj te rzeczy dopiero w php a nie na etapie zapytania |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ehhh... Pobierz sobie normalnie jak człowiek produkty, a w modelu zrób sobie metodę getCorrectPrice na podstawie produktu...
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Z tego co pamiętam to SQL_CALC_FOUND_ROWS nie wykorzystuje indeksów, to może być powodem tak długiego wykonywania zapytania, może spróbuj ze starym sprawdzonym COUNT()?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 10:45 |