Re : Plusieurs warning et erreur
Bonjour,
Plus de 5000 entrées sur une table récursive comme l'est #__menu, c'est effectivement une charge importante. La récursivité est nécessaire pour les menus, qui n'ont nulle part (en Joomla! ou autre) pour but de remplacer une architecture de site défaillante par une multitude d'entrées ingérables.
Typiquement, les appels récursifs (jointure d'une table sur elle-même), pour 5.000 entrées peuvent résulter en 5.000 au carré requêts dans le pire des cas, et 5000 dans le meilleur, ce qui, tout le monde le concevra, suffit à mettre à genou tout serveur SQL mutualisé avec peu de resources allouées par client.
Même sur un serveur dédié moyennement dimensionné, cette gestion incorrecte de l'architecture d'un site générant des menus obèses peut générer des erreurs timeout si le site est assez fréquenté.
Il me semble qu'il vaudrait mieux repenser l'architecture du site pour corriger cette erreur conceptuelle.
Bonjour,
Plus de 5000 entrées sur une table récursive comme l'est #__menu, c'est effectivement une charge importante. La récursivité est nécessaire pour les menus, qui n'ont nulle part (en Joomla! ou autre) pour but de remplacer une architecture de site défaillante par une multitude d'entrées ingérables.
Typiquement, les appels récursifs (jointure d'une table sur elle-même), pour 5.000 entrées peuvent résulter en 5.000 au carré requêts dans le pire des cas, et 5000 dans le meilleur, ce qui, tout le monde le concevra, suffit à mettre à genou tout serveur SQL mutualisé avec peu de resources allouées par client.
Même sur un serveur dédié moyennement dimensionné, cette gestion incorrecte de l'architecture d'un site générant des menus obèses peut générer des erreurs timeout si le site est assez fréquenté.
Il me semble qu'il vaudrait mieux repenser l'architecture du site pour corriger cette erreur conceptuelle.
Commentaire