Auteur Sujet: Optimisation Mysql  (Lu 703 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne falconnet

  • Débutant
  • *
  • Messages: 43
    • Site professionnel (prestations SPIP)
Optimisation Mysql
« le: 09 février 2004 à 02:47:21 »
Je viens de lire dans la  FAQ le message "Faq : Optimisation Des Requêtes Et Champs Mysql ", et je me pose des questions.

En particulier on peut lire :" Il faut faire des connexions avant les requêtes et les refermer juste après... ".
Cela veut il dire qu'il faut que je fasse une fonction php qui fasse l'ouverture, la requete et la fermeture à chaque requete?
Par exemple,
function MY_mysql_query($req)
{
global $sql_serveur,,sql_user,$sql_passwd,$sql_bdd ;
connexion_sql = @mysql_connect($sql_serveur,$sql_user,$sql_passwd) or die("Connexion impossible à la base de données. Réessayez plus tard.");
mysql_select_db($sql_bdd, $connexion_sql);
$res=mysql_query("select * FROM table") or die(mysql_error());
mysql_close($connexion_sql)
return $res;
}
Sachant que je fait autour de 15 requètes par pages.

Dans mysql on donne des noms aux index, doit on faire expressement référence à ces noms dans nos requetes?

Est-ce qu'on peut avoir intérêt à faire les jointures en php plutot qu'en SQL, pour décharger la BD? A savoir est ce que cela peut être intéressant de faire deux requetes à la BD puis de lier les deux tableaux récupérés avec des foreach imbriqué ou est-ce que la surcharge php engendrée fait que ca n'en vaut pas la chandelle?

Est ce qu'il y a un intéret à utiliser un mysql_fetch_assoc, plutot qu'un mysql_fetch_array?

Chez phpnet.org à partir de combien de requetes BD considère-t-on qu'une page fait-elle trop accés au serveur Mysql?

J'ai des calculs à faire régulièrement, toutes les n secondes par exemple, pour l'instant, je teste à chaque page affichée si ces calculs sont à faire, et dans le cas positif je les lance avant d'afficher la page. Cette stratégie a deux défaut (au moins): 1 je fait un test par page affichée (qui demande un accés BD), 2 si personne ne se connecte pendant longtemps il faut faire tous les calculs en retard a ce moment. Est ce que vous voyez une meilleure stratégie? En particulier, est ce que vous savez s'il existe un systeme type cron chez phpnet.org?

Voilà j'éspère que j'ai été clair et que les réponses intéresseront d'autres personnes (et qq1 aura des réponses ;) ).

 
Quelques sites (les miens) chez phpnet:
- http://www.falconnet.fr/ (spip)
- http://www.lunastars.net/ (jeu maison)
- http://www.canniste.org/ (spip)

Hors ligne smilynet

  • Habitué
  • **
  • Messages: 223
    • http://www.smilynet.com
Optimisation Mysql
« Réponse #1 le: 09 février 2004 à 13:16:35 »
non non non
dans la faq il faut comprendre :
<?
mysql_connect(...);
...
requetes !!!
...
mysql_close();
?>
<html>
...