JeanMarcS Posted July 6, 2023 Share Posted July 6, 2023 Bonjour. Suite à des plantages intermittents d'un prestashop assez fréquenté, j'ai activé le profiling. Ça donne plein d'information, mais il y a un truc que je ne comprends pas, c'est les durées d'exécutions données pour les requêtes dans la partie Stopwatch SQL En effet, par exemple, je vais avoir ma page de commande avec les infos suivantes : Load Time 646 ms Querying Time 359 ms Queries 82 ms Mais si j'en crois les informations du stopwatch SQL, la requête SELECT SQL_NO_CACHE DISTINCT c.id_country, cl.`name` FROM `ps_orders` o INNER JOIN `ps_address` a ON a.id_address = o.id_address_delivery INNER JOIN `ps_country` c ON a.id_country = c.id_country INNER JOIN `ps_country_lang` cl ON (c.`id_country` = cl.`id_country` AND cl.`id_lang` = 1) ORDER BY cl.name ASC Non seulement il l'appelle 2x, mais la durée annoncée dans le rapport est une fois de 166072 ms et l'autre de 168253 ms ! Ce qui n'a aucun sens si c'est le temps effectif de la requête... Du coup est-ce que quelqu'un sait à quoi correspondent ces valeurs ? C'est un cumul ? Une stat ? Merci d'avance. Link to comment Share on other sites More sharing options...
JeanMarcS Posted July 10, 2023 Author Share Posted July 10, 2023 Up ? Personne ne sait ? Link to comment Share on other sites More sharing options...
wepresta Posted July 10, 2023 Share Posted July 10, 2023 Bonjour, D'abord, il y a surement beaucoup de données dans ces tables (ps_orders et ps_address), ça peut ralentir la requête. Il faut prendre en compte le temps nécessaire pour parcourir et traiter toutes ces données... Ensuite, je me demande si les tables sont correctement indexées. Si elles ne le sont pas, ça peut causer des retards dans la recherche et la jointure des données. Il faudrait vérifier si les colonnes utilisées pour les jointures (id_address, id_country, id_country, id_lang) sont indexées correctement. Une autre chose qui pourrait rendre la requête lente, c'est sa complexité. Avec la clause DISTINCT et les multiples jointures, ça peut devenir compliqué pour le système de base de données. Le système doit trier les résultats pour éliminer les doublons, ce qui peut prendre du temps. Enfin, on ne peut pas ignorer la configuration du serveur... Les performances peuvent être affectées par différents paramètres, comme la mémoire allouée et les paramètres de cache. Il serait bon de vérifier si la configuration du serveur est optimisée de ton coté ? J'espère que ça t'aide ! Si tu as d'autres questions, n'hésite pas à demander. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now