01net    Web


Actuellement en ligne : 915 Utilisateurs dont 26 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> Optimiser une base mysql
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
Miril
  
  :-)
      ?   ^   @     Posté le 13/03/2005 18:57:52  
Voter pour ce message
Bonjour,



Je voudrais savoir comment optimiser une base mysql ...



Je voudrais également savoir s'il existe une fonction pouvant réorganiser les champs id de ma table.

=> par exemple j'ai des enregistrements dans ma table, avec un champ id en auto_inrement (1,2,3,4,5) Je supprime un enregistrement, le 3 par exemple j'ai donc maintenant (1,2,4,5) est il possible de remettre tout ça en ordre de manière a avoir (1,2,3,4) ?



Merci,
-------
Un site aux normes règle les problèmes d'incompatibilié ! http://www.w3.org/
Nitrotik
  Pom pom pom :o)
   
      ?   @     Posté le 13/03/2005 19:46:12  
Voter pour ce message
Salut a toi !



Optimiser est un tres joli mot, mais qui ne veut pas dire grand chose a l'etat brut ;). Tu veut optimiser tes requetes MySQL pour qu'elles soient plus rapides a executer? Tu veut optimiser ta base MySQL de facon a ce que'elle sois mieux organisée?



Pour ton 2eme soucis, je ne pense pas qu'il y est une fonction proprement dite qui fasse cela, cependant, avec PHP qui a des tonnes de resource, tu devrai pouvoir t'en sortir en executant une page faite par tes sois contenant grossierement :

-Une verification si tes enregistrement sont désorganisés au niveau de l'id (avec des requests MySQL suivit d'un petit if{}

-Si oui, tu met une petite boucle qui te remet tout ca dans l'ordre ;)



Voila, en esperant t'avoir aider... Ciao



Nitrotik

-
-------
http://foudre.net
--> Vide et fier de l'etre :-)
Miril
  
  :-)
      ?   ^   @     Posté le 13/03/2005 19:50:15  
Voter pour ce message
Oui, j'essayerai de faire ça ... merci pour l'idée
-------
Un site aux normes règle les problèmes d'incompatibilié ! http://www.w3.org/
Gautier
  2008, ...
  :-)
      ?   @     Posté le 13/03/2005 20:29:09  
Voter pour ce message
A quoi ce te sert de réorganiser tes ids ?

à part casser les liens entre tes tables ?
-------
[Chaque minute qui passe est une occasion de changer le cours de sa vie]
[Les préjugés sont les ennemis du bon sens]
Nitrotik
  Pom pom pom :o)
   
      ?   @     Posté le 13/03/2005 20:43:33  
Voter pour ce message
Ca peut servire a bien des choses, par exemple a cacher la supression d'un enregistrement :whistle:

Ou bien ca permet le bon fonctionement des scripts qui atribue des données MySQL a chaque $i d'un for{}, ca n'afficheras pas rien pour $i = 3 si l'enregistrement n°3 a été suprimer de la bdd ;)
-------
http://foudre.net
--> Vide et fier de l'etre :-)
Nico5779
  ex-deus
  :-)
      ?   ^   @     Posté le 13/03/2005 21:03:13  
Voter pour ce message
Nitrotik a écrit :
Ca peut servire a bien des choses, par exemple a cacher la supression d'un enregistrement :whistle:

Ou bien ca permet le bon fonctionement des scripts qui atribue des données MySQL a chaque $i d'un for{}, ca n'afficheras pas rien pour $i = 3 si l'enregistrement n°3 a été suprimer de la bdd ;)




ca a pas des sens de changer les id, a partir du moment du moment ou travaille avec n'importe quel sgdb qui gère les clés étrangères, d'ailleurs il t'emperchera de le faire.
Gautier
  2008, ...
  :-)
      ?   @     Posté le 13/03/2005 21:10:17  
Voter pour ce message
Nitrotik a écrit :
Ca peut servire a bien des choses, par exemple a cacher la supression d'un enregistrement :whistle:


Tu mélanges l'aspect fonctionnel et l'aspect technique





Nitrotik a écrit :


Ou bien ca permet le bon fonctionement des scripts qui atribue des données MySQL a chaque $i d'un for{}, ca n'afficheras pas rien pour $i = 3 si l'enregistrement n°3 a été suprimer de la bdd ;)



Déjà, si tu commences à parcourir les données extraites d'une base de donnée avec un for et une variable d'itération, ca commence mal.
-------
[Chaque minute qui passe est une occasion de changer le cours de sa vie]
[Les préjugés sont les ennemis du bon sens]
Miril
  
  :-)
      ?   ^   @     Posté le 14/03/2005 18:45:39  
Voter pour ce message
Vous tracassez pas, je voulai juste savoir si ça existait mé bon ya pas grand intéret, ça fait plus propre koi ...
-------
Un site aux normes règle les problèmes d'incompatibilié ! http://www.w3.org/
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 14/03/2005 22:28:25  
Voter pour ce message
Pour les requetes, il est très utile de les optimiser avec les jointures (quand c'est utile), pour par exempleeviter de faire une requete dans un while($var = mysql_fetch_assoc($bla))



sinon, euh, il est interessant d'utiliser EXPLAIN ma requette, dans phpMyAdmin.



bon après l'optimisation vient au fil du temps, tu peux pas vraiment apprendre comment ça marche, c'est plutôt dans la logique de prog que c'est important.
GostSn
  
   
      ?   @     Posté le 18/04/2006 20:10:21  
Voter pour ce message
Slt
je ne sais pas trop si c'est ça que tu voulais savoir, mais j'ai trouver un truc pour réorganiser une table mysql par id, cad dire supprimer les trou entre chaques entrées (au lieux de: 2-4-5-6-9-15-16 le tranformer en 1-2-3-4-5-6-7) bien sur ne pas utiliser quand vous avez des tables lier.


<?
$nomserveur='localhost'; //Nom du serveur
$nomutilisateur=''; //Ton identifiant Mysql
$pass=''; //ton pass
$nombd=''; //le nom de ta base de donnée
$nomtable=''; //Le nom de ta table.

$db = mysql_connect($nomserveur, $nomutilisateur, $pass);
mysql_select_db($nombd,$db);
$sql = 'ALTER TABLE `'.$nomtable.'` DROP `id`';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$sql = 'ALTER TABLE `'.$nomtable.'` ADD `id` MEDIUMINT(9) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
?>


ça consiste a supprimer le champ id dans un premier temps, pui le remettre...
c ki réorganise un bd.
-->Message édité par GostSn le 18/04/2006 20:11:25<--
-------
http://www.free-tribes.ORG !
tt simplement!
matperino
  
   
      ?   @     Posté le 04/03/2007 14:50:59  
Voter pour ce message
Merci GostSn pour cette solution, c'est exactement ce que je cherchais ! :)
-->Message édité par matperino le 04/03/2007 14:52:59<--
GostSn
  
   
      ?   @     Posté le 08/06/2007 22:36:47  
Voter pour ce message
Bah de rien^^
-------
http://www.free-tribes.ORG !
tt simplement!
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> Optimiser une base mysql

Aller à :

Page générée en : 0.174s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Partage de fichiers
Partagez vos gros fichiers entre amis, de façon totalement confidentielle et sécurisée.
Jeux
Nouveauté : Gagnez de l'argent en nourrissant vos clients, qui se trouvent être des corbeaux affamés.