dexcaesar Posted January 19, 2017 Share Posted January 19, 2017 Bonjour à tous, Notre site est de plus en plus lent. Je pense que ça vient de la BDD. Particulièrement de la table ps_configuration qui a 76685 rows. Ca me parait énorme ! J'hésite à supprimer les duplicatas mais j'aurais besoin de conseils pour éviter de faire importe quoi. Que puis-je supprimer sans risque ? Connaissez-vous des requêtes SQL qui pourrait aider ? En vous remerciant par avance pour votre aide. Cordialement, Pascal Query Time (ms) Rows Filesort Group By Location SELECT SQL_NO_CACHE c.`name`, cl.`id_lang`, IF(cl.`id_lang` IS NULL, c.`value`, cl.`value`) AS value, c.id_shop_group, c.id_shop FROM `px_configuration` c LEFT JOIN `px_configuration_lang` cl ON (c.`id_configuration` = cl.`id_configuration`) 295.8 76685 /classes/Configuration.php:148 Link to comment Share on other sites More sharing options...
coeos.pro Posted January 19, 2017 Share Posted January 19, 2017 76.000 c'est juste énorme, normalement elle contient quelques centaines de lignes, environ 400. Êtes vous en multiboutiques? Si oui combien? Link to comment Share on other sites More sharing options...
dexcaesar Posted January 19, 2017 Author Share Posted January 19, 2017 (edited) Non, c'est mono-boutique Pour info c'est un presta 1.6.1.4 Edited January 19, 2017 by dexcaesar (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted January 19, 2017 Share Posted January 19, 2017 Peux tu nous dire à quoi ressemble name et value pour les id_configuration > 500 ? si tout est identique ou +/- ? Link to comment Share on other sites More sharing options...
dexcaesar Posted January 20, 2017 Author Share Posted January 20, 2017 Name est identique mais value peut changer Link to comment Share on other sites More sharing options...
coeos.pro Posted January 20, 2017 Share Posted January 20, 2017 ça veux dire que tu as un module qui utilises une requête SQL avec insert au lieu de Configuration::updateValue. Il faut trouver le module en question, pour ceci cherche date_add la plus ancienne pour ces doublons et ça te donnera une idée de la date d'installation du module en question. Link to comment Share on other sites More sharing options...
dexcaesar Posted January 20, 2017 Author Share Posted January 20, 2017 Je pense que ça vient d'un module de statistiques. Je les ai désactivés depuis. Mais je me demande si je peux supprimer les doublons en direct sur la bdd sans risque en ne conservant que la dernière entrée. Et s'il existe une requête SQL qui pourrais me simplifier cette tâche fastidieuse. Link to comment Share on other sites More sharing options...
dexcaesar Posted January 21, 2017 Author Share Posted January 21, 2017 (edited) Voici les entrées que je pense supprimer : SALES_CATALOG (+ SALES_CATALOG_EXPIRE) ABANDONED_CARTS +expire AVG_CUSTOMER_AGE +expire AVG_ORDER_VALUE +expire CONVERSION_RATE +expire CUSTOMER_MAIN_GENDER +expire DISABLED_CATEGORIES +expire DISABLED_MODULES +expire DISABLED_PRODUCTS +expire EMPTY_CATEGORIES +expire NETPROFIT_VISIT +expire NEWSLETTER_REGISTRATIONS +expire ORDERS_PER_CUSTOMER + expire PERCENT_PRODUCT_OUT_OF_STOCK + expire PRODUCT_AVG_GROSS_MARGIN +expire PRODUCTS_PER_CATEGORY +expire TOP_CATEGORY +expire UPDATE_MODULES +expire ENABLED_LANGUAGES +expire FRONTOFFICE_TRANSLATIONS +expire INSTALLED_MODULES +expire MAIN_COUNTRY +expire Voici les requêtes auxquelles je pense : Afficher les doublons : SELECT COUNT( * ) AS nbr_doublon, `name` FROM ps_configuration GROUP BY `name` HAVING COUNT( * ) >1 LIMIT 0 , 30 Supprimer les doublons : DELETE FROM ps_configuration LEFT OUTER JOIN ( SELECT MAX(id_configuration) as id_configuration, `name` FROM ps_configuration WHERE `name` = 'SALES_CATALOG' GROUP BY `name` ) as t1 ON ps_configuration.id_configuration = t1.id_configuration WHERE t1.id_configuration IS NULL Qu'en pensez-vous ? Edited January 21, 2017 by dexcaesar (see edit history) Link to comment Share on other sites More sharing options...
Mat_D1245 Posted July 5, 2018 Share Posted July 5, 2018 Bonjour, j'ai moi aussi plus de 83000 entrées dans ma table ps_configuration, et je pense aussi que c'est ce qui ralentit mon shop d'après le profiling. Avez-vous trouvé une solution? Amicalement, 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