Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [sql] pod zapytania
propage
post
Post #1





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


Jeśli mam takie zapytanie

SELECT * FORM .... LIMIT 0, 1

To działa one dwa razy szybciej niż takie

SELECT *, (SELECT x FROM ... ) FORM .... LIMIT 0, 1

Zapytanie działa dwa razy szybciej niezaleznie od tego ile rekordów zróci, czy 100, czy 1, tzn. te subzapytanie, zawsze się wykonuje dla wszystkich potencjalnych rekordów prawpodobnie, przez co czas całego zapytania jest nie potrzebnie wydłużany.
Jak zrobić, aby subzapytanie wykonywało się tylko dla rekordów, które zwróciło głowne zapytanie?


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mmmmmmm
post
Post #2





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

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


  1. SELECT *, p2.kategoria_id AS kategoria_głowna
  2. FROM
  3. produkt p
  4. LEFT JOIN
  5. produkt_2_kategoria p2
  6. ON p2.produkt_id=p.produkt_id AND p2.main=1
  7. LEFT JOIN produkt_2_kategoria p_2_k WHERE p_2_k. kategoria_id = X
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: 13.10.2025 - 19:42