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 .... |
|
|
|
![]() |
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) |
|
|
|
humman IN () w zapytaniach mysql a wydajność 20.06.2012, 19:41:01
thek To zależy jak się ma liczba elementów w IN w odnie... 21.06.2012, 01:09:26 ![]() ![]() |
|
Aktualny czas: 31.12.2025 - 07:15 |