Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1786 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [mysql] fonction OPTIMIZE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[mysql] fonction OPTIMIZE

n°512116
Free_RideR​_
get up haaaaaaaaa....
Posté le 10-09-2003 à 23:49:50  profilanswer
 

Salut à tous,
je me demande à quoi sert la fonction optimize en sql? en effet lors d'une suppression d'un enregistrement dans une table je constate qu'il y a des "pertes". ça correspond à quoi?
 
par avance merci  :jap:


---------------
www.element62.com
mood
Publicité
Posté le 10-09-2003 à 23:49:50  profilanswer
 

n°512127
mrbebert
Posté le 11-09-2003 à 00:06:07  profilanswer
 

Quand tu supprimes un enregistrement, ca fait un "trou". Si tes enregistrements ont une taille fixe, la prochaine insertion pourra boucher ce trou. Mais ce n'est pas forcément le cas si tu utilises une taille variable, et tu peux vouloir récupérer toute la place perdue.
 
Le OPTIMIZE va rassembler les données pour boucher les trous :)  
 
(c'est un peu le même principe que la frgmentation sur un disque)


Message édité par mrbebert le 11-09-2003 à 00:07:00
n°512131
Free_RideR​_
get up haaaaaaaaa....
Posté le 11-09-2003 à 00:10:22  profilanswer
 

ok, mais dans une table j'ai par exemple l'enregistrement n1 et l'enregistrement n2.
si par php je supprime n2, il n'y a pas de trou vu qu'il ne reste plus qu'un seul enreg. ????
c ça que je comprends pas, d'autant plus que si à ce moment là on exporte la table, il n'y a pas de "trou" qui apparait, tout semble normal!
(ma question doit parraitre tordue!!!)
 
en tt cas merci pour ta réponse.


---------------
www.element62.com
n°512135
mrbebert
Posté le 11-09-2003 à 00:22:06  profilanswer
 

Si c'était le dernier, non, tu n'as pas de trou.
Si tu as n1-n2-n3 dans ta base, que tu supprimes n2, tu as un trou. Si tu ajoutes ensuite n4, il se met à la place qu'occupait n2 (en admettant que tu es des enregistrements de taille fixe).
Tu as donc n1-n4-n3. Si tu supprimes n4, tu as de nouveau un trou [:proy]
 
Au moment d'exporter, il n'y a pas de problème. Il n'y a pas beaucoup de rapport entre le fichier SQL généré et le stockage physique des données :)


Message édité par mrbebert le 11-09-2003 à 00:23:20
n°512136
Free_RideR​_
get up haaaaaaaaa....
Posté le 11-09-2003 à 00:26:35  profilanswer
 

mrBebert a écrit :

Si c'était le dernier, non, tu n'as pas de trou.
Si tu as n1-n2-n3 dans ta base, que tu supprimes n2, tu as un trou. Si tu ajoutes ensuite n4, il se met à la place qu'occupait n2 (en admettant que tu es des enregistrements de taille fixe).
Tu as donc n1-n4-n3. Si tu supprimes n4, tu as de nouveau un trou [:proy]
 
Au moment d'exporter, il n'y a pas de problème. Il n'y a pas beaucoup de rapport entre le fichier SQL généré et le stockage physique des données :)  


 
génial, c'est exactement ça que je captais pas trop. si tu en sais un peu plus à ce sujet, hésite pas  ;)  
merci


---------------
www.element62.com
n°512139
mrbebert
Posté le 11-09-2003 à 00:30:29  profilanswer
 

Dans ton exportation, c'est juste des instruction SQL permettant de reconstruire la base. Aucun rapport avec la manière dont sont physiquement enregistrées les données [:proy]  
 
INSERT INTO table VALUES(.......);
INSERT INTO table VALUES(.......);
...


Message édité par mrbebert le 11-09-2003 à 00:31:10

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [mysql] fonction OPTIMIZE

 

Sujets relatifs
Crypter une base MySQLcopie de bases MySQL
tableau de pointeur sur fonction !!!la fonction system
fonction membres et template .templatePetit pb de syntaxe de la fonction "echo"
[MySQL] variables d'environnement[MySQL] Besoin d'aide sur les types de Variables
php mysql et unicodeprobleme update mysql ...
Plus de sujets relatifs à : [mysql] fonction OPTIMIZE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR