Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dwa takie same zapytania, różne czasy
e-y-e
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 15.07.2010

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


Nie rozumiem dlaczego z pozoru dwa takie same zapytania wykonują się w tak różnym czasie

To zapytanie wykonuje się w czasie mniejszym niż sekunda i zwraca 116 idków
  1. SELECT c.id_kategorii FROM produkt c GROUP BY c.id_kategorii HAVING COUNT(c.id_kategorii)< 20;



Tego zapytania nie udało się wykonać, po 10 minutach przerwałem operację
  1. SELECT * FROM kategoria k WHERE
  2. k.id IN (SELECT c.id_kategorii FROM produkt c GROUP BY c.id_kategorii HAVING COUNT(c.id_kategorii)< 20);



To zapytanie jest takie samo jak wyżej, tylko zamiast pod zapytania z palaca są wpisane id których jest w sumie 116, i wykona się w czasie krótszym niż sekunda....
  1. SELECT * FROM kategoria k WHERE
  2. k.id IN (z palaca wpisane 116 idków);


Moje pytanie brzmi dlaczego jest taka duża różnica w czasie wykonania tego drugie zapytania skoro na moją logikę powinno ono trwać czas podzapytania + czas głównego zapytania. Co nie powinno trwać dłużej niż sekundę, a jednak trwa nieokreśloną ilość czasu.....

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





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




@Sephirus i ja również z całym szacunkiem jaki do Ciebie mam, ale o co Tobie chodzi?

Autor chce pobrać tylko te kategorie, które nie mają więcej niż 20 produktów. Jeśli nie rozumiesz jego logiki, to pytaj się jego czemu chce pobrać tylko takie kategorie (IMG:style_emoticons/default/smile.gif) Ja mu tylko pomagam to zrealizować.
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: 15.10.2025 - 00:17