Sauvegarder correctement une base de donnée de chez Multimania [PHP] - PHP - Programmation
Marsh Posté le 27-08-2002 à 14:10:39
Dans l'espace membre sur multimania y a un truc pour exporter la base, ça marche très bien
Marsh Posté le 27-08-2002 à 14:21:34
je viens de reparcourir le site et la faq, rien trouvé
ça s'appelle comment ton truc ?
Marsh Posté le 27-08-2002 à 14:31:47
ha ouais c'est quand même un PHPmyadmin qu'on a là il me semblait que c'était un truc à eux
"Mon compte" >
|
"Administrer" > dans le bas tu sélectionne ttes les tables, "structure et données", "transmettre", "gzippé", executer.
Marsh Posté le 27-08-2002 à 14:42:55
ok merci
je suppose qu'il fallait bien sélectionner les deux tables que je voulais sauvegarder, choisir "Structure et données", et cocher Transmettre ?
c'est normal que le fichier .sql fasse 3/4 de la taille de mes tables ? (j'ai pas zippé)
je suis sceptique...
Marsh Posté le 27-08-2002 à 15:06:07
ça dépend des données de la table, mais je dirais que oui c'est normal
Par ex moi pour 5 Mo de BD j'ai un fichier d'un peu moins de 2 Mo.
Marsh Posté le 29-08-2002 à 17:24:28
Eniac a écrit a écrit : ok merci je suppose qu'il fallait bien sélectionner les deux tables que je voulais sauvegarder, choisir "Structure et données", et cocher Transmettre ? c'est normal que le fichier .sql fasse 3/4 de la taille de mes tables ? (j'ai pas zippé) je suis sceptique... |
Ca dépend des index que t'as mis sur tes tables.
Avec aucun index, c'est pas normal, avec beaucoup d'index diférents, c'est tout à fait normal.
Marsh Posté le 29-08-2002 à 17:32:00
index
désolé je débute
Marsh Posté le 29-08-2002 à 17:43:54
Eniac a écrit a écrit : index désolé je débute |
Dans une table d'une base de donnée, tu peux choisir de la créer en ne fesant que désigner les champs dont t'as besoin.
Dans ce cas là, la moindre recherche d'une info dans cette table là obligera le gestionnaire de base de donnée à vérifier toutes les données contenue dans la table pour retrouver celles que tu cherche. Ca devient très lent quand la table commence à être vraiment bien remplis.
Pour accélérer la recherche d'une information, on peut dire à la base de donnée, qu'il y a un index sur telle colone ou tel groupe de colone. Ca prends plus de place vu qu'en plus des données elle même il est obligé de stocker ses index mais c'est plus rapide (au lieu de tout regarder, il regarde son index et ne va chercher dans la table que ce qui corespond à ta demande).
Quand tu exportes ta base de donnée, il te crée la requête qui indiquera à la base de donnée comment est constitué la nouvelle table et quels sont les index à préparé ainsi que les données elle même mais ne rajoute pas les index en eux même (c'est recréé automatiquement quand tu rechargeras la base a partir des donnée que tu viens d'exporter).
Du coup, dans ton fichier .sql, tu n'a plus que la structure de la table (ou des tables) et le contenu des champs contre la structure + le contenu + les index dans la base de départ. Donc, la taille de ton fichier .sql peut être plus petit que la taille de la base.
EDIT :
PS: Je sais pas trop comment mieux l'expliquer.
Marsh Posté le 29-08-2002 à 17:53:21
en gros j'ai compris, merci pour cette explication
quand j'ai créé ma base de donnée chez Multimania, je n'ai pas souvenir d'avoir du choisir de faire d'index ou pas... donc je suppose que par défaut, il n'y en a pas... donc ce n'est pas normal que mon fichier .sql de sauvegarde soit plus petit que ma table
l'hypothèse que j'avais, c'est que si par exemple t'as un tableau de 10x10, et que t'as seulement 35 cellule de remplies, eux comptent la place que PRENDRAIT ta table si elle était remplie entièrement, or quand tu sauvegarde le fichier, une cellule vide prend moins de place qu'une cellule pleine...
mais bon, ce n'est que pure spéculation destinée à m'auto-rassurer
Marsh Posté le 29-08-2002 à 17:54:27
pour les index, quoique...
Données 7 900 Octets
Index 3 072 Octets
Perte 20 Octets
Effectif 10 952 Octets
Total 10 972 Octets
et je viens de vérifier mon hypothèse, ça marche pas point de départ mode on
Marsh Posté le 29-08-2002 à 18:00:39
Eniac a écrit a écrit : en gros j'ai compris, merci pour cette explication quand j'ai créé ma base de donnée chez Multimania, je n'ai pas souvenir d'avoir du choisir de faire d'index ou pas... donc je suppose que par défaut, il n'y en a pas... donc ce n'est pas normal que mon fichier .sql de sauvegarde soit plus petit que ma table l'hypothèse que j'avais, c'est que si par exemple t'as un tableau de 10x10, et que t'as seulement 35 cellule de remplies, eux comptent la place que PRENDRAIT ta table si elle était remplie entièrement, or quand tu sauvegarde le fichier, une cellule vide prend moins de place qu'une cellule pleine... mais bon, ce n'est que pure spéculation destinée à m'auto-rassurer |
Heu, oui, ca aussi ca jous.
C'est vrai que si tu prends une zone char (zone texte par des plus longue) réglé sur 255 caractère pour mettre une donnée de 4 ou 5 caractère, ben dans ton fichier, ca prendra 251 octet de moins que la base.
Mais dans un autre côté, dans le fichier, c'est des requêtes qui sont inscrit donc t'as a chaque fois les noms des zones qui sont répété et ca ralonge un peu le fichier.
Bref, beaucoup de truc qui joue sur les changement de tailles.
Marsh Posté le 27-08-2002 à 14:07:09
Salut,
Je suis pas loin d'être un newbie en PHP.
J'ai un compte chez multimania, et c'est là aussi que j'ai ma base de donnée PHPMyAdmin, une seule base de donnée avec 2 tables assez petites (6 et 3 Ko).
J'aimerais savoir comment faire des sauvegardes convenables de la table sur mon disque dur, en cas de pépin.
J'ai lu qu'il fallait faire gaffe paske parfois ça marchait pas, enfin, j'ai pas trop compris... donc si vous avez des remarques n'hésitez pas.
Une fois que ça sera fait je ferai un test pour savoir si je sais les restaurer...
Merci A+
---------------
If you really want something, all the Universe conspires in helping you to achieve it.