Qd ouvrir et fermé la base de donnée sql

douniacreation
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 38
Inscription: 24 Jan 2010

Qd ouvrir et fermé la base de donnée sql

Message le Ven Fév 12, 2010 22:13

Bonjour,

Si on a 2 ou 3 requettes sur la meme page :

La meilleur solution pour alléger le serveur est de fermé aprés chaque exécution

Code: Tout sélectionner
include 'include/connection.php';
      $requet = mysql_query('******************query1*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 1
      }
mysql_close();



Mon code HTML

include 'include/connection.php';
      $requet = mysql_query('******************query2*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 2
      }
mysql_close();



MON CODE HTML



include 'include/connection.php';
      $requet = mysql_query('******************query3*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 3
      }
mysql_close();



Ou bien de faire une ouverture au début de la page et une fermuture a la fin

Code: Tout sélectionner
include 'include/connection.php';
      $requet = mysql_query('******************query1*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 1
      }




Mon code HTML


      $requet = mysql_query('******************query2*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 2
      }




MON CODE HTML




      $requet = mysql_query('******************query3*****************');
      while ($donnee=mysql_fetch_assoc($requet))
     {
      *****************query 3
      }
mysql_close();






Merci pour votre réponse

FloBaoti
WRInaute impliqué
WRInaute impliqué
 
Messages: 755
Inscription: 30 Avr 2006

Re: Qd ouvrir et fermé la base de donnée sql

Message le Sam Fév 13, 2010 2:18

Salut,

Bon déjà: "Quand ouvrir et fermer..."

Ensuite, 3 include de la meme page, c'est pas bon. Les inclusions de fichiers sont coûteuses, donc on les regroupe au maximum et on ne fais pas 3 fois la même.

Pour le fond de la question, tout dépend de l'intervalle de temps entre tes requêtes. La meilleure solution serait également de regrouper toutes les requêtes, les faire les unes à la suite des autres.
Si ça n'est pas possible, il faut garder en tête qu'une connexion ouverte non utilisée, c'est inutile et gaspille de la ressource. Et pareil ouvrir 3 connexions en moins d'une seconde sur une page, c'est de la boucherie.

Donc tout est question de compromis. Il n'y a pas de réponse juste, tout dépend des cas.

Rod la Kox
WRInaute accro
WRInaute accro
 
Messages: 3253
Inscription: 24 Juin 2008

Re: Qd ouvrir et fermé la base de donnée sql

Message le Sam Fév 13, 2010 7:33

La bonne technique est celle-ci :
Code: Tout sélectionner
// Préparation de toute les requêtes
$sql1 = "SELECT ...";
$sql2 = "SELECT ...";

// Connexion et ouverture bdd
include fichier connexion;
@mysqli_select_db(...);
@mysqli_set_charset (...);

// Envoi des requêtes
$req1 = @mysqli_query(... $sql1);
$req2 = @mysqli_query(... $sql2);

// Fermeture de la connexion à la bdd
@mysqli_close (...);

// Traitement des données
while($data1 = @mysqli_fetch_assoc($req1))
...
while($data2 = @mysqli_fetch_assoc($req2))

// Affichage des données
<html>
...
</html>


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19595
Inscription: 8 Aoû 2004

Re: Qd ouvrir et fermé la base de donnée sql

Message le Sam Fév 13, 2010 22:12

Sauf que, souvent, certaines requêtes vont dépendre des résultats des requêtes précédentes, donc pas évident de toutes les préparer en avance

Rod la Kox
WRInaute accro
WRInaute accro
 
Messages: 3253
Inscription: 24 Juin 2008

Re: Qd ouvrir et fermé la base de donnée sql

Message le Dim Fév 14, 2010 8:31

On est d'accord, c'est juste une structure de base.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

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