[MYSQL] Un peu d'optimisation

Un peu d'optimisation [MYSQL] - Programmation

Marsh Posté le 15-03-2001 à 12:39:22    

Voila ce que je voudrais faire:
1)
Je dois faire un compteur pour un forum, qui communique le nombre de messages postes.
Ce que je fais pour l'instant, c'est:
 
Je prend le nombre de messages postes dans la base de donnees:
$req_nb_mes=mysql_query("SELECT nb_mes FROM patatipatata" );
$row_nb_mes=mysql_fetch_row($req_nb_mes);
$nb_mes=$row_nb_mes[0];
 
Ensuite, je rajoute un:
$nb_mes+=1;
 
Apres je mets a jour la bd
 
Est-ce que c'est possible de faire tout ca en une seule requete, exemple:
mysql_query("UPDATE patatipatata SET nb_mes = quelquechose(nb_mes) + 1" );
 
2)Est-ce que lors de l'execution, s'il y a bcp de requetes, il vaut mieux ecrire mysql_query("requete" ) directement ou est-ce que le fait de passer par plusieurs variables ne changent pratiquement rien? exemple:
$requete="SELECT machinchose FROM truc WHERE patatipatata";
$result=mysql_query($requete);
(ici, ca fait qu'une ligne en plus, mais sur un nombre de requetes importants, ca fait plus travailler le serveur je suppose non?

 

[edit]--Message édité par Dragonspirit--[/edit]

Reply

Marsh Posté le 15-03-2001 à 12:39:22   

Reply

Marsh Posté le 15-03-2001 à 14:42:29    

1/ le + rapide c bien de faire une seule requête :crazy:  
Et tu n'es pas loin du compte, voici la bonne syntaxe :
mysql_query("UPDATE patatipatata SET nb_mes = nb_mes + 1" );
 
2/je ne pense pas que ça change vraiment grand chose sf à très grande échelle. Perso c vrai que j'utilise tjs la forme "directe" mysql_query("SELECT..." ); mais bon...

 

[edit]--Message édité par Zebra3--[/edit]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed