Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Optymalizacja zapytania
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


Witam, mam pytanie, ponieważ myślę, że moje doświadczenie z językiem SQL nie pozwala mi odpowiedzieć czy moje zapytanie jest już zotymalizowane na maxa czy jeszcze da się je przyspieszyć bo powiem szczerze ze 2.6307 sek dla 500 rekordów to trochę długo.


  1. SELECT o.GID, (
  2.  
  3. SELECT d.date
  4. FROM deliveries d
  5. WHERE d.ORDER = o.GID
  6. ORDER BY d.date DESC
  7. LIMIT 1
  8. ) AS mdate, o.STATUS, d1.date
  9. FROM orders o
  10. LEFT JOIN deliveries d1 ON o.GID = d1.ORDER
  11. LEFT JOIN deliveries_sended ds ON d1.GID = ds.delivery
  12. WHERE (
  13. o.STATUS =6
  14. AND ds.date >'2016-02-10'
  15. )
  16. OR o.STATUS !=6
  17. GROUP BY o.GID
  18. ORDER BY o.date DESC


Zapytanie ma pobierać rekordy z bazy orders, które mają status różny od 6, lub takie które mają status 6, ale są wysłane (deliveries_sended) później niż 10 lutego

Z góry dzięki za odpowiedzi. Pozdrawiam.


Edit:

Wywaliłem Selecta w selekcie i teraz jest 1,6 sek dla 500 rekordów, to i tak sporo


  1. SELECT o.GID, o.STATUS, d1.date
  2. FROM orders o
  3. LEFT JOIN deliveries d1 ON o.GID = d1.ORDER
  4. LEFT JOIN deliveries_sended ds ON d1.GID = ds.delivery
  5. WHERE (
  6. o.STATUS =6
  7. AND ds.date >'2016-02-10'
  8. )
  9. OR o.STATUS !=6
  10. GROUP BY o.GID
  11. ORDER BY o.date DESC



Ten post edytował neo1986kk 13.02.2016, 17:39:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
patryczakowy
post
Post #2





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


Sprawdź zapytanie przy pomocy EXPLAIN - to ci powinno dużo podpowiedzieć
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #3





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Wywal LEFT JOINy. Raczej w wynikach nic nie zmieni, a dostanie niesamowitego kopa
Go to the top of the page
+Quote Post
kajzur
post
Post #4





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

Ostrzeżenie: (0%)
-----


Indeksy masz pozakładane?
Go to the top of the page
+Quote Post

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: 23.08.2025 - 06:56