Optimiser 6 requêtes...
7 messages
• Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
-

JeunZ - WRInaute accro

- Messages: 5301
- Inscription: 18 Fév 2004
Optimiser 6 requêtes...
bonjour,
dans un fichier qui est appelé plusieurs milliers de fois par jour j'effectue ces 6 requetes (entre autre)
les max(id) et count(id) de 3 tables en fait.
Vaut il mieux tout regrouper en une seule requete? Y a t'il une fonction spéciale qui renvoit ces valeur et d'une façon plus optimisée?
dans un fichier qui est appelé plusieurs milliers de fois par jour j'effectue ces 6 requetes (entre autre)
- Code: Tout sélectionner
list($nbrt) = mysql_fetch_array(mysql_query("SELECT MAX(id) FROM membres", $db), MYSQL_NUM);
list($nbr3t) = mysql_fetch_array(mysql_query("SELECT MAX(post_id) FROM dotclear_post", $db), MYSQL_NUM);
list($nbr4t) = mysql_fetch_array(mysql_query("SELECT MAX(comment_id) FROM dotclear_comment", $db), MYSQL_NUM);
list($nbr) = mysql_fetch_array(mysql_query("SELECT count(id) FROM membres", $db), MYSQL_NUM);
list($nbr3) = mysql_fetch_array(mysql_query("SELECT count(post_id) FROM dotclear_post", $db), MYSQL_NUM);
list($nbr4) = mysql_fetch_array(mysql_query("SELECT count(comment_id) FROM dotclear_comment", $db), MYSQL_NUM);
les max(id) et count(id) de 3 tables en fait.
Vaut il mieux tout regrouper en une seule requete? Y a t'il une fonction spéciale qui renvoit ces valeur et d'une façon plus optimisée?
- shrom
- WRInaute impliqué

- Messages: 865
- Inscription: 5 Juil 2004
Re: Optimiser 6 requetes...
JeunZ a écrit:
- Code: Tout sélectionner
list($nbrt) = mysql_fetch_array(mysql_query("SELECT MAX(id) FROM membres", $db), MYSQL_NUM);
list($nbr3t) = mysql_fetch_array(mysql_query("SELECT MAX(post_id) FROM dotclear_post", $db), MYSQL_NUM);
list($nbr4t) = mysql_fetch_array(mysql_query("SELECT MAX(comment_id) FROM dotclear_comment", $db), MYSQL_NUM);
list($nbr) = mysql_fetch_array(mysql_query("SELECT count(id) FROM membres", $db), MYSQL_NUM);
list($nbr3) = mysql_fetch_array(mysql_query("SELECT count(post_id) FROM dotclear_post", $db), MYSQL_NUM);
list($nbr4) = mysql_fetch_array(mysql_query("SELECT count(comment_id) FROM dotclear_comment", $db), MYSQL_NUM);
Ce que je ferais, c'est écrire les valeurs dans un fichier texte qui seraient mis à jour lorsque nécessaire c'est à dire lorsqu'il y a un nouveau membre, un nouveau post ou un nouveau commentaire.
-

JeunZ - WRInaute accro

- Messages: 5301
- Inscription: 18 Fév 2004
Ca serait chiant à coder car les blogs s'ouvrent et se ferment comme des petits pains, idem pour les parutions et les commentaires... La fonction count et max sont vraiment utile à ce niveau.
Mais je pense que regrouper mes 6 requetes en une seule permettraient de consommer moins de ressources non? Dans un premier temps en attendant effectivement de trouver un autre système que celui de la base de donnée...
Mais je pense que regrouper mes 6 requetes en une seule permettraient de consommer moins de ressources non? Dans un premier temps en attendant effectivement de trouver un autre système que celui de la base de donnée...
- shrom
- WRInaute impliqué

- Messages: 865
- Inscription: 5 Juil 2004
JeunZ a écrit:Ca serait chiant à coder car les blogs s'ouvrent et se ferment comme des petits pains, idem pour les parutions et les commentaires...
15 minutes pour coder tout ça, il suffit de mettre des hook aux endroits qui vont bien.
- shrom
- WRInaute impliqué

- Messages: 865
- Inscription: 5 Juil 2004
yep a écrit:c'est quoi des 'hook' ?
C'est des fonctions qui vont en appeler dautres
Plus sérieusement, c'est tout simplement placer une fonction à un endroit stratégique qui déclenche un événement.
Par exemple, après l'insertion d'un commentaire qui se fait par la méthode blog::addPost, on rajoute un appel à une fonction qui lève un événement du genre:
- Code: Tout sélectionner
$GLOBALS['EVTMANAGER']->notify(ADDPOST, $post);
Dans la méthode notify, on appel tous les objets ou fonctions qui ont demandé à écouter cette événement. Ainsi on peut effectuer des actions à chaque fois qu'un post est ajouté.
7 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Nombre moyen de mots par requête : statistiques AOL Août 2006 - 10-08-2006
- Nuage de tags Wordle pour WebRankInfo - 29-04-2009
- Ranking Metrics lance son blog - 15-01-2007
- Référencement local gratuit dans l'annuaire WebRankInfo - 27-04-2009
- Optimiser le nombre de mots dans les textes de liens - 03-10-2005
- 10 règles pour optimiser son référencement sur Google - 12-06-2002
- Les frames et le référencement - 27-11-2002
- Lancement du cursus WebMarketing de Ranking Metrics - 15-12-2008
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 0 invités

