Jump to content

Diminuer le nombre de requete sql


Recommended Posts

Bonjour à tous.

 

J'essaye d'amméliorer les perfs, et pour cela diminuer les TTFB.

Je passe donc en phase de profiling, et je remarque sans surprise le nombre de requete sql.

Sachant que je souhaite avoir des pages de categorie présentant tous les produits de la catégories (~100) ce n'est pas surprenant.

 

Cependant je suis surpris du nombre.

Sur ma boutique de test je me retrouve avec 811 requete pour 38 produit.

Sachant que pour chaque produit il y a 10 requete sql.

 

Quelqu'un as t il essayer, chercher, des diminuer le nombre de requete?

0.259 ms SELECT SQL_NO_CACHE product_shop.`price`, product_shop.`ecotax`, product_attribute_shop.id_product_attribute, product_attribute_shop.`price` AS attribute_price, product_attribute_shop.default_on FROM `ps_product` p INNER JOIN `ps_product_shop` product_shop ON (product_shop.id_product=p.id_product AND product_shop.id_shop = 5) LEFT JOIN `ps_product_attribute` `pa` ON pa.`id_product` = p.`id_product` LEFT JOIN `ps_product_attribute_shop` `product_attribute_shop` ON (product_attribute_shop.id_product_attribute = pa.id_product_attribute AND product_attribute_shop.id_shop = 5) WHERE (p.`id_product` = 194)
in /var/www/html/prestashop1.5.2/classes/Product.php:2649
1 row browsed

0.135 ms SELECT SQL_NO_CACHE `priority`, `id_specific_price_priority` FROM `ps_specific_price_priority` WHERE `id_product` = 194 ORDER BY `id_specific_price_priority` DESC LIMIT 1
in /var/www/html/prestashop1.5.2/classes/SpecificPrice.php:190
1 row browsed

0.125 ms SELECT SQL_NO_CACHE `reduction` FROM `ps_product_group_reduction_cache` WHERE `id_product` = 194 AND `id_group` = 1 LIMIT 1
in /var/www/html/prestashop1.5.2/classes/GroupReduction.php:139
0 rows browsed

0.12 ms SELECT SQL_NO_CACHE `id_tax_rules_group` FROM `ps_product_shop` WHERE `id_product` = 194 AND id_shop=5 LIMIT 1
in /var/www/html/prestashop1.5.2/classes/Product.php:4402
1 row browsed


0.194 ms SELECT SQL_NO_CACHE SUM(quantity) FROM `ps_stock_available` WHERE (id_product = 194) AND (id_product_attribute = 0) AND (id_shop = 5) LIMIT 1
in /var/www/html/prestashop1.5.2/classes/stock/StockAvailable.php:357
1 row browsed

0.153 ms SELECT SQL_NO_CACHE pa.id_product_attribute FROM ps_product_attribute pa INNER JOIN ps_product_attribute_shop product_attribute_shop ON (product_attribute_shop.id_product_attribute = pa.id_product_attribute AND product_attribute_shop.id_shop = 5) WHERE product_attribute_shop.`default_on` = 1 AND pa.id_product = 194 LIMIT 1
in /var/www/html/prestashop1.5.2/classes/Product.php:645
1 row browsed

0.151 ms SELECT SQL_NO_CACHE pa.id_product_attribute FROM ps_product_attribute pa INNER JOIN ps_product_attribute_shop product_attribute_shop ON (product_attribute_shop.id_product_attribute = pa.id_product_attribute AND product_attribute_shop.id_shop = 5) WHERE pa.id_product = 194 LIMIT 1
in /var/www/html/prestashop1.5.2/classes/Product.php:635
1 row browsed

0.39 ms SELECT SQL_NO_CACHE * FROM `ps_product` a LEFT JOIN `ps_product_lang` `b` ON a.id_product = b.id_product AND b.id_lang = 5 LEFT JOIN `ps_product_shop` `c` ON a.id_product = c.id_product AND c.id_shop = 5 WHERE (a.id_product = 194) AND (b.id_shop = 5) LIMIT 1
in /var/www/html/prestashop1.5.2/classes/ObjectModel.php:212
1 row browsed

0.365 ms SELECT SQL_NO_CACHE name, value, pf.id_feature FROM ps_feature_product pf LEFT JOIN ps_feature_lang fl ON (fl.id_feature = pf.id_feature AND fl.id_lang = 5) LEFT JOIN ps_feature_value_lang fvl ON (fvl.id_feature_value = pf.id_feature_value AND fvl.id_lang = 5) LEFT JOIN ps_feature f ON (f.id_feature = pf.id_feature AND fl.id_lang = 5) INNER JOIN ps_feature_shop feature_shop ON (feature_shop.id_feature = f.id_feature AND feature_shop.id_shop = 5) WHERE pf.id_product = 194 ORDER BY f.position ASC
in /var/www/html/prestashop1.5.2/classes/Product.php:3903
USING FILESORT - 3 rows browsed

0.247 ms SELECT SQL_NO_CACHE pa.id_product_attribute FROM ps_product_attribute pa INNER JOIN ps_product_attribute_shop product_attribute_shop ON (product_attribute_shop.id_product_attribute = pa.id_product_attribute AND product_attribute_shop.id_shop = 5) WHERE product_attribute_shop.default_on = 1 AND pa.id_product = 194 LIMIT 1
in /var/www/html/prestashop1.5.2/classes/Product.php:625
1 row browsed

0.214 ms SELECT SQL_NO_CACHE pa.id_product_attribute FROM ps_product_attribute pa INNER JOIN ps_product_attribute_shop product_attribute_shop ON (product_attribute_shop.id_product_attribute = pa.id_product_attribute AND product_attribute_shop.id_shop = 5) WHERE pa.id_product = 194 LIMIT 1
in /var/www/html/prestashop1.5.2/classes/Product.php:654
1 row browsed
Link to comment
Share on other sites

  • 4 weeks later...
  • 3 years later...

Pour infos, j'avais 1016 requêtes, j'ai désactivé le thème que j'avais acheté sur addons.prestashop.com , je suis redescendu ) 46 requêtes ...
J'ai envoyé un message au développeur, j'attends des nouvelles ;-)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...