Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> IN () w zapytaniach mysql a wydajność
humman
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 13.02.2008

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


witam
Czy zapytania z IN w przypadku dużej ilości danych są wydajne?
Co jest lepsze - użycie takiego zapytania, w którym IN(tutaj 10,000 id-ików) operujące na dużej ilości danych czyli sprawdzajace czy id (10,000 id-ików) znajduje się w np 1mln rekordów, czy lepiej jest zrobić zapytanie po ID zapisać wynik do tablicy a potem po pobraniu porównywać czy ID jest zgodny z tym pobranym i wtedy go wyświetlić?

Która opcja jest lepsza gdy dodatkowo dane trzeba posortować?

chodzi mi o zapytania typu;
SELECT *
FROM products, ...
WHERE pc.catID IN (4, 8, 9, 10, 11, 12, 13, 14, ...) AND ....

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





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


Według moich doświadczeń silnik mysql radzi sobie bardzo dobrze z przykładem, który podałeś (liczby stałoprzecinkowe w in)
Jeżeli na tej kolumnie będzie index powinno być dobrze.... myślę, że lepiej niż 1M powtórzeń pętli

........chociaż nigdy nie próbowałem wsadzić 10k liczb w nawias :]

To będzie wątek warty obserwacji (IMG:style_emoticons/default/smile.gif)
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: 31.12.2025 - 07:15