Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Podzapytania w MySQL 4.1, Czy warto ?
NoiseMc
post
Post #1





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

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


Niedawno zaktualizowałem środowisko pracy o MySQL 4.1 w związku z czym chciałbym poznać opinie innych użytkowników forum na temat używania podzapytań. Czy używanie podzapytań zamiast JOIN - ów jest OK ? Dla mnie na pewno wygodniejsze co Wy o tym sądzicie.


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Ja osobiście wolę joiny, chociaż nie wszędzie da się je zastosować.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
Radarek
post
Post #3





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 23.05.2005

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


Cytat(NoiseMc @ 2005-05-30 14:51:37)
Niedawno zaktualizowałem środowisko pracy o MySQL 4.1 w związku z czym chciałbym poznać opinie innych użytkowników forum na temat używania podzapytań. Czy używanie podzapytań zamiast JOIN - ów jest OK ? Dla mnie na pewno wygodniejsze co Wy o tym sądzicie.

Skoro jest taka mozliwosc tzn ze jest OK;). Z tym ze w wersji 4.x zapytania zagniezdzone sa bardzo slabo optymalizowane dlatego tam gdzie jest mozliwosc uzycia JOIN itp jest to bardzo wskazane. Sa jednak zapytania w ktorych zapytania zagniezdzone sa wygodne np:

tabela OSOBY
id_osoby|wiek

chcemy miec wszystkie najstarsze osoby

  1. SELECT *
  2. FROM OSOBY WHERE wiek = (SELECT max(wiek)
  3. FROM OSOBY);


Gdybysmy chcieli napisac to bez zapytania zagniezdzonego musielibysmy zapamietac maksymalny wiek w jakiejs zmiennej tymczasowej [czy to na poziomie php czy mysql] i wykonac odpowiednie zapytanie. Ponoc w wersji 5.x mysql ma lepiej optymalizowac zapytanai zagniezdzone.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Nie znam w ogole joinow ale podzapytania potrafia wiele: wybor 6 liczb w kolejnosci losowej sposrod tych najczesciej sie pojawiajacych ktorych ostatnio nie bylo. Ze 3 czy cztery podzapytania, wszsystko jasne i przejrzyste. Tj. totolotek -- jeszcze nic nie wygralem biggrin.gif


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Radarek
post
Post #5





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 23.05.2005

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


Cytat(dr_bonzo @ 2005-05-30 16:16:37)
Nie znam w ogole joinow ale podzapytania potrafia wiele: wybor 6 liczb w kolejnosci losowej sposrod tych najczesciej sie pojawiajacych ktorych ostatnio nie bylo. Ze 3 czy cztery podzapytania, wszsystko jasne i przejrzyste. Tj. totolotek -- jeszcze nic nie wygralem biggrin.gif

To pochwal sie tym zapytaniem smile.gif
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Tjaaasne, no chyba ze 70% z wygranych dla mnie biggrin.gif

PS. Jak sie przelacze na Linucha (gdzies o 21ej) to podam zapytanko.
-----------------------------------
Suprize:
  1. SELECT number
  2. FROM ( SELECT *
  3. FROM ( SELECT *
  4. FROM ( SELECT date, number, count( * ) AS cnt
  5. FROM `data` GROUP BY number ORDER BY cnt DESC LIMIT 24 ) AS temptab ORDER BY date ASC LIMIT 18 ) AS temptab2 ORDER BY RAND() LIMIT 6 ) AS temptab3 ORDER BY number ASC


Ten post edytował dr_bonzo 30.05.2005, 18:52:56


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 16:08