Bonjour,
J'ai migré l'ensemble de ma base de données MySQL du format MyIsam à
InnoDB, afin de bénéficier des contraintes d'intégrité qui n'étaient pas
à l'ordre du jour précédemment, mais l'est devenu.
Je constate un ralentissement notable concernant (au moins) une requete :
6 tables jointes groupées union 3 tables jointes groupées, le tout trié
sur un champ "commun".
Je passe de 3s à 100s. J'ai mis à jour les indexes, fait des optimize,
check, ... par contre pas de redémarrage de la base (est ce nécessaire ?)
le explain dit :
+--------+--------+
| table | type |
+--------+--------+
| C1 | index |
| CD1 | index |
| D1 | index |
| Dt2 | ref |
| Dt1 | ref |
| UR1 | ref |
| UR2 | eq_ref |
| UT1 | ref |
| UT2 | ref |
+--------+--------+
Avec un produit des "rows" parcourues : 1*1*1*1*105*105*58*67*8 = 342745200
Les tables (comme vu ci dessus) ne contiennent pas un nombre
d'enregistrements important.
Le reste de mes requetes passe bien, aucun ralentissement dimensionnant
par rapport à l'appli.
Est ce normal ? où dois/puis-je agir ?
Merci de vos expériences et éventuelles solutions.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Trognon Patrice
ManuPavy wrote:
Bonjour, J'ai migré l'ensemble de ma base de données MySQL du format MyIsam à InnoDB, afin de bénéficier des contraintes d'intégrité qui n'étaient pas à l'ordre du jour précédemment, mais l'est devenu. Je constate un ralentissement notable concernant (au moins) une requete : 6 tables jointes groupées union 3 tables jointes groupées, le tout trié sur un champ "commun". Je passe de 3s à 100s. J'ai mis à jour les indexes, fait des optimize, check, ... par contre pas de redémarrage de la base (est ce nécessaire ?) le explain dit : +--------+--------+ | table | type | +--------+--------+ | C1 | index | | CD1 | index | | D1 | index | | Dt2 | ref | | Dt1 | ref | | UR1 | ref | | UR2 | eq_ref | | UT1 | ref | | UT2 | ref | +--------+--------+
Avec un produit des "rows" parcourues : 1*1*1*1*105*105*58*67*8 > 342745200
Les tables (comme vu ci dessus) ne contiennent pas un nombre d'enregistrements important.
Le reste de mes requetes passe bien, aucun ralentissement dimensionnant par rapport à l'appli.
Est ce normal ? où dois/puis-je agir ?
Merci de vos expériences et éventuelles solutions.
Manu
héhé, sans InnoDB MySQL est un SGBD d'il y a 20 ans. Avec c'est un SGBD d'il y a 15 ans.
Si tu veux des perfs PLUS les vrais fonctionnalités d'un SGBD prends autre chose ;)
Postgres est plutot pas mal.
-- Cordialement,
Patrice Trognon http://www.javadevel.com
ManuPavy wrote:
Bonjour,
J'ai migré l'ensemble de ma base de données MySQL du format MyIsam à
InnoDB, afin de bénéficier des contraintes d'intégrité qui n'étaient pas
à l'ordre du jour précédemment, mais l'est devenu.
Je constate un ralentissement notable concernant (au moins) une requete :
6 tables jointes groupées union 3 tables jointes groupées, le tout trié
sur un champ "commun".
Je passe de 3s à 100s. J'ai mis à jour les indexes, fait des optimize,
check, ... par contre pas de redémarrage de la base (est ce nécessaire ?)
le explain dit :
+--------+--------+
| table | type |
+--------+--------+
| C1 | index |
| CD1 | index |
| D1 | index |
| Dt2 | ref |
| Dt1 | ref |
| UR1 | ref |
| UR2 | eq_ref |
| UT1 | ref |
| UT2 | ref |
+--------+--------+
Avec un produit des "rows" parcourues : 1*1*1*1*105*105*58*67*8 > 342745200
Les tables (comme vu ci dessus) ne contiennent pas un nombre
d'enregistrements important.
Le reste de mes requetes passe bien, aucun ralentissement dimensionnant
par rapport à l'appli.
Est ce normal ? où dois/puis-je agir ?
Merci de vos expériences et éventuelles solutions.
Manu
héhé, sans InnoDB MySQL est un SGBD d'il y a 20 ans.
Avec c'est un SGBD d'il y a 15 ans.
Si tu veux des perfs PLUS les vrais fonctionnalités d'un SGBD
prends autre chose ;)
Bonjour, J'ai migré l'ensemble de ma base de données MySQL du format MyIsam à InnoDB, afin de bénéficier des contraintes d'intégrité qui n'étaient pas à l'ordre du jour précédemment, mais l'est devenu. Je constate un ralentissement notable concernant (au moins) une requete : 6 tables jointes groupées union 3 tables jointes groupées, le tout trié sur un champ "commun". Je passe de 3s à 100s. J'ai mis à jour les indexes, fait des optimize, check, ... par contre pas de redémarrage de la base (est ce nécessaire ?) le explain dit : +--------+--------+ | table | type | +--------+--------+ | C1 | index | | CD1 | index | | D1 | index | | Dt2 | ref | | Dt1 | ref | | UR1 | ref | | UR2 | eq_ref | | UT1 | ref | | UT2 | ref | +--------+--------+
Avec un produit des "rows" parcourues : 1*1*1*1*105*105*58*67*8 > 342745200
Les tables (comme vu ci dessus) ne contiennent pas un nombre d'enregistrements important.
Le reste de mes requetes passe bien, aucun ralentissement dimensionnant par rapport à l'appli.
Est ce normal ? où dois/puis-je agir ?
Merci de vos expériences et éventuelles solutions.
Manu
héhé, sans InnoDB MySQL est un SGBD d'il y a 20 ans. Avec c'est un SGBD d'il y a 15 ans.
Si tu veux des perfs PLUS les vrais fonctionnalités d'un SGBD prends autre chose ;)