Mysql - Récupérer des valeures de requetes récursives

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


sureau
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Lun Mar 07, 2005 15:25

Mysql - Récupérer des valeures de requetes récursives

Message le Lun Mai 21, 2007 19:06

Pour un de mes sites, je dois faire une somme d'enregistrements en fonction de requetes récursives. J'y parviens avec des boucles, mais je souhaiterais optimisé le tout (histoire d arreté de tuer mon serveur avec des petits add on gourmant).

Donc le problème est celui ci
J'ai une table catégorie avec 3 champs
id_categorie
nom_fr
categorie_parent

Ainsi les catégories peuvent avoir un niveau infini de niveau si categorie_parent = id_categorie d une autre catégorie afin d'obtenir une arborescence comme ceci
Accueil / Commerces / boulangerie / rhones alpes etc...
je voudrais que sur commerces par exemple je connaisse le nombre d'enregistrements contenu dans commerces, boulangerie, rhones alpes etc...

A part faire une boucle récursive sur toutes les catégories d'une catégorie parent donnée, suivi d'une requete sur chacune des catégories pour obtenir le nombre d enregistrements, je ne vois pas comment faire (et vu le nombre de catégories , j obtiens vite 200 à 300 requetes de plus par page (contre une 15 aine sans le script))

Alors c est sous mysql, si quelqu'un à une piste... :)

NextGeneration
WRInaute impliqué
WRInaute impliqué
 
Messages: 425
Inscription: Mer Sep 27, 2006 18:34

Message le Lun Mai 21, 2007 19:19

Une requete préparée + une procédure stockée devraient faire l'affaire... en utilisant PDO.

bigjet
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 211
Inscription: Dim Nov 21, 2004 18:30

Message le Lun Mai 21, 2007 21:18

Une méthode que je te conseilles pour ton cas c'est de rajouter un champ dans ta table dans lequel tu stockes tout le chemin vers une catégorie. (Accueil / Commerces / boulangerie / rhones alpes) Tu peux aussi ajouter un champs qui contient le nombre de fils pour chaque catégorie.

Lorsque tu mettras à jour ces champs, t'auras besoin d'utiliser la récursivité pour bâtir les chemins et faire le calcul du nombre de fils, mais comme le ratio (Mise à jour)/(Pages consultées) est infime, tu gagneras énormément en performance.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités