Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Optymalizacja zapytania
tomeknh
post
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 2.12.2007

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


witam,

mam sklep na osc gold i muli mi strasznie serwer na nim...administratorzy napisali, że jest nieoptymalne zapytanie takie:

  1. SELECT DISTINCT p.products_id, p.products_image, p.products_quantity, p.products_tax_class_id, p.manufacturers_id, pd.products_name, IF(s.STATUS, s.specials_new_products_price, p.products_price) AS products_price FROM products p
  2. LEFT JOIN specials s ON p.products_id = s.products_id
  3. LEFT JOIN products_description pd ON p.products_id = pd.products_id
  4. LEFT JOIN products_to_categories p2c ON p2c.products_id = p.products_id
  5. LEFT JOIN categories c ON c.categories_id = p2c.categories_id
  6. WHERE c.categories_status='1' AND p.products_status = '1' AND pd.language_id = '1' AND DATE_SUB(CURDATE(),INTERVAL 21 DAY) <= p.products_date_added LIMIT 1


i ze zoptymalizowanie tego zapytania rozwiąże problem...

Jak zaoptymalizować to zapytanie?

Z góry dziękuję i pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cudny
post
Post #2





Grupa: Zarejestrowani
Postów: 387
Pomógł: 66
Dołączył: 31.03.2005
Skąd: Kielce

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


Cytat(Niktoś @ 19.03.2012, 17:02:12 ) *
Zobacz na link, który podałem,nawet są tam przykłady z kwerendami podobnymi do tych co autor tematu przedstawił.Z ich testów wynika ,że użycie Union All znacznie przyspieszyło operacje na bazie.


(IMG:style_emoticons/default/biggrin.gif) A czy union to nie powinno mieć takiej samej struktury kolumn (IMG:style_emoticons/default/biggrin.gif) ?
Join powinien dać radę - tutaj nie widze nic nienormalnego w twoim zapytaniu oprócz jak już mój przedmówca zauważył '1' - to powinno być numeryczne.
Poza tym w tym wypadku powinieneś, ba nawet bardzo powinieneś pozakładać klucze obce - w mysql działają w silniku inno db - w myisam już nie, niestety.
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: 4.10.2025 - 06:58