fonction OPTIMIZE [mysql] - PHP - Programmation
Marsh Posté le 11-09-2003 à 00:06:07
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)
Marsh Posté le 11-09-2003 à 00:10:22
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.
Marsh Posté le 11-09-2003 à 00:22:06
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
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
Marsh Posté le 11-09-2003 à 00:26:35
mrBebert a écrit : Si c'était le dernier, non, tu n'as pas de trou. |
génial, c'est exactement ça que je captais pas trop. si tu en sais un peu plus à ce sujet, hésite pas
merci
Marsh Posté le 11-09-2003 à 00:30:29
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
INSERT INTO table VALUES(.......);
INSERT INTO table VALUES(.......);
...
Marsh Posté le 10-09-2003 à 23:49:50
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
---------------
www.element62.com