Mysql - Récupérer des valeures de requetes récursives
3 messages
• Page 1 sur 1
-

sureau - WRInaute discret

- Messages: 195
- Inscription: 7 Mar 2005
Mysql - Récupérer des valeures de requetes récursives
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...
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 occasionnel

- Messages: 428
- Inscription: 27 Sep 2006
Une requete préparée + une procédure stockée devraient faire l'affaire... en utilisant PDO.
- bigjet
- WRInaute discret

- Messages: 211
- Inscription: 21 Nov 2004
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.
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.
3 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- analytics : recuperer les requetes google image
- Récupérer les requêtes du moteur interne d'un site
- Optimisation requetes MySQL
- Mysql optimisation index/requêtes.
- Requêtes MySQL programmées à XXhXX
- Proble Base Mysql et requetes
- Appréciation du bon nombre de requetes mysql ...
- [PHP] : compter le nombre de requêtes MySQL
- [PHP/MySQL] Optimisation multiples requêtes
- Lenteur connection et requetes mysql sous XP
- Gestion des langues et des sessions en PHP / MySQL - 02-05-2004
- Nombre moyen de mots par requête : statistiques AOL Août 2006 - 10-08-2006
- Passage à l'heure d'été/hiver sur un forum phpBB - 31-10-2010
- Nuage de tags Wordle pour WebRankInfo - 29-04-2009
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- GoogleStats : analyse temps réel des visites de Google sur votre site - 02-10-2002
- Sortie officielle de GoogleStats v2.0 ! - 23-02-2003
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
Consultez la description détaillée des produits ou services de Google suivants : Google Trends Recherche Personnalisée
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
