Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 21.03.2005 Ostrzeżenie: (0%)
|
Czesc miszcze od MySql-a,
Mam zagwostkę i pytanie. Here is situation. Zapytanie :
Tabela stats ma około 70 MB i szczerze powiedziawszy jest kiepsko zoptymalizowana. Nie starczyło mi cierpliwości, żeby sprawdzić jak długo wykonuje się to zapytanie. Jeżeli wykonuję je osobno tzn:
dostaje 32 rzędy w 0.00 sec
dostaje odpowiedź w 0.00 sec jeżeli wezmę oszukam całą procedurę i wstawie do IN wynik zapytania:
dostaję odpoeidź w 0.42 sec Pytanie - dlaczego wykonanie dwóch selectów na raz trwa nieskończenie dłużej niż takie "oszukanie" zapytanie z IN-em?? Jak można przekonać optymalizera MySQL-owego do poprwnej interpretacji?? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%)
|
O ile pamietam to dla kazdej wartosci bedzie jechal podzapytanie. Jest kilka ksiazek na ten temat z podanymi przykladami kiedy warto stosowac IN a kiedy to jest wrecz zabronione
|
|
|
|
mkozak [optymalizacja] Select Where IN( Select) 28.02.2007, 12:09:46
dr_bonzo A mozesz dac strukture bazy, z indexami? 28.02.2007, 12:36:50
Sh4dow z jednej strony prawdopodobnie brakuje indeksów, a... 1.03.2007, 13:51:18 
mkozak Cytat(Sh4dow @ 1.03.2007, 13:51:18 ) ... 2.03.2007, 12:53:47
SongoQ Sprawdz tak:
[SQL] pobierz, plaintext SELECT coun... 1.03.2007, 14:17:31 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 19:49 |