Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> optymalizacja zapytania LEFT JOIN
adam45
post 29.06.2015, 00:00:55
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 28.06.2015

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


ponizsze zapytanie wykonuje sie okolo 5 minut
czy jest jakis sposob aby mozna je było zoptymalizować

  1. SELECT tabelaA.nr AS numer, SUM(tabelaA.ilosc*tabelaB.cena) AS koszt FROM tabelaA LEFT JOIN tabelaB ON tabelaA.text=tabelaB.text WHERE tabelaA.kolor='zielony' AND tabelaA.rozmiar='maly' AND tabelaA.ilosc>0 GROUP BY tabelaA.nr
  2.  
  3. ponizsze kolumny maja INDEX FULLTEXT
  4. tabelaA.text
  5. tabelaB.text


jak robie explain to mam
Kod
id     select_type     table     type     possible_keys     key     key_len     ref     rows     Extra     
1     SIMPLE     tabelaA     ALL     NULL    NULL    NULL    NULL    29577     Using where; Using temporary; Using filesort
1     SIMPLE     tabelaB     ALL     text     NULL    NULL    NULL    92877     Using where
Go to the top of the page
+Quote Post
mmmmmmm
post 29.06.2015, 06:23:46
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


1. Smiem podejrzewać, że LEFT JOIN nie jest ci potrzebny - wystarczy JOIN.
2. Te indexy nie są w ogóle wykorzystywane... Nie wiem, czy FTS indexy są wykorzystywane do złączeń W OGÓLE. Dodaj zwykłe indeksy. Albo jeden na te trzy pola
Go to the top of the page
+Quote Post
adam45
post 29.06.2015, 22:08:29
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 28.06.2015

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


dodanie zwyklych indeksow rozwiazalo problem
dzieki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 13:35