Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nieoptymalne zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
GrayHat
Mam takiego SQL`a:

  1. SELECT pd.*, substr(pd.flags_p, 20,1) AS van_only, gp.subgr, kp.keywords_p, kp.keywords_e
  2. FROM fbgroups_products gp, products_data pd, keywords_products kp
  3. WHERE gp.prod_ean = pd.code_ean AND substr(pd.flags_p, 34,1) = 1 AND gp.subgr LIKE '%'
  4. AND(pd.mark LIKE 'ryby%' OR pd.submark LIKE '%ryby%' OR pd.name_p LIKE '%ryby%') OR (kp.keywords_p LIKE '%ryby%' AND substr(pd.flags_p, 34,1) = 0)
  5. GROUP BY pd.code_ean
  6. ORDER BY substring(flags_p,4,1) DESC, pd.mark ASC



Problem pojawił się po dodaniu sprawdzania wartości w keywords_products
Jak do tej pory zapytanie wykonywało się w ok. 0.3sec to teraz trwa około 8sec...
Da się to jakoś zoptymalizować?
NoiseMc
Jaki typ ma kp.keywords_p ? Sprawdz jak bedzie sie wykonywac zapytanie jezeli zmienisz na Varchar i zrobisz z tego index.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.