Pertes SQL
le 23/04/2007 à 10:43
Keika
Salut,
je viens de decouvrir que j'ai des pertes SQL... (bon je ne fais pas de jeux de mots mais je me retiens!)
Comment est-ce possibile ? J'ai aussi remarque que avec un simpe OPTIMIZE on retablit le probleme.
Est-il possible d'afficher ca sur le site ? Genre dans la partie admin je verifie si y'a de la perte et je lance un ch'tit OPTIMIZE pour arranger ca. Cependant je pense que la meilleur solution reste d'eviter ces pertes... Mais je ne comprends pas d'ou elles viennent et je n'ai aps trouver ou me l'expliquer dans PHPMyAdmin...
Merci d'avance
K.
Le PHP --> C'est dur !
Pour comprendre ce que sont ces pertes, il suffit de lire la doc MySQL.
En gros, MySQL est très con dans l'organisation de ses données sur le file system.
Le problème arrive lorsque tu fais beaucoup d'insert / delete sur une table.
Car en cas de delete, MySQL efface la donnée qui est (peut être) située sur plusieurs clusters.
Et quand derrière tu fais un insert, MySQL cherche le premier cluster ou il y'a de la place, et il insère ta donnée. Si il y'a de la place pour toute ta donnée, tout va bien. Mais si ta donnée est trop grosse, ben il insère quand meme ce fragment, et il part à la recherche du prochain cluster libre pour continuer à écrire le reste de ta donnée.
Bref, au final, ca fait comme windows : ca fragmente mal (car pour selectionner une donnée, il doit chercher un peu partout sur le disque).
Un optimize permet de résoudre cela car il réorganise tout pour faire en sorte que les données (qui avant étaient à divers endroits du disque) se retrouvent bien les unes à la suite des autres. Et par conséquent, un Optimize accélère tes select.
Voilou.
Mais je te conseille de lire la doc MySQL, il y'a plein de truc intéressant à lire sur ce genre de truc.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: