Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] optymalizacja
propage
post
Post #1





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

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


mam proste zapytanie
Kod
SELECT product_id FROM produkt p left join produktML m pML on (pML.produckt_id = p.produkt_id)  WHERE  (
                    ( MATCH(pML.product_url) AGAINST ('test')) OR
                    (   p.prodcukt_code = 'test')
                        )

Zapytanie wykonuje się w czasie 1 s.
Kod
SELECT product_id FROM produkt p left join produktML m pML on (pML.produckt_id = p.produkt_id)  WHERE  (
                     MATCH(pML.product_url) AGAINST ('test'))
                     )

Zapytanie wykonuje się w czasie 0.001 s.

Kod
SELECT product_id FROM produkt p left join produktML m pML on (pML.produckt_id = p.produkt_id)  WHERE  (
                    
                    (   p.prodcukt_code = 'test')
)

Zapytanie wykonuje się w czasie 0.001 s.


Trochę dziwne wydaje mi się, że jeśli te dwa warunki umieszcze razem w jednym zapytnaiu do zapytanie wykonuje się 50 razy dłużej niż, jak osobno (i summuję ich czas). Jest jakiś sposób na zoptymalizowanie 1 zapytania? W bazie jest 200 tys rekordów.

Ten post edytował propage 16.09.2013, 16:50:05
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




No niestety tak bywa.... zrob UNION na tych dwoch zapytaniach i bedziesz mial szybko i w jednym zapytaniu (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: 11.10.2025 - 16:22