Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/09/2005, 12h30   #1
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
Par défaut Archiver BD

Je voudrais créer une archive d'une BD.

Pour copier les enregistrement de BD1 vers BD2:
boucle
- SELECT BD1
- INSERT INTO BD2
- DELETE BD1

ou il y a une solution plus simple ?
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2005, 13h02   #2
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
En fait pour MySQL, si tu as accès aux fichiers, tu peux directement sauvegarder la structure de fichiers correspondants à ta base.

Renseigne toi dans la doc de la version de ton MySQL sur les moyens de BACKUP qu'ils proposent
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2005, 13h45   #3
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
Ce n'est pas une sauvegarde de la BD que je veux faire.

C'est la partie de la BD1 qui ne servent pas va être migrer vers la BD2 pour être consulter si besoin.

C'est un archivage pas une sauvegarde.
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2005, 14h04   #4
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
Ah ok, autant pour moi Le terme que j'aurais employé serait alors plutôt "Historisation", selon moi archivage implique la notion d'archive, qui en informatique se traduit par compression et stockage externe. Mais un débat sur les termes n'est pas ce que tu attends

Ton fonctionnement m'a l'air donc correct, une petite optimisation pour les deux premières étapes serait d'utiliser le insert-select.

Mais je pense que ça dépend de l'utilité que tu as. Si par exemple il s'agit d'historiser des données qui seront peu consultées, pour gagner en performance dans la base 1 et en se moquant des performances de la base 2, ok ça marche. Ca allège les index, donc les temps de réponse sont bien meilleur.

Sinon, si il s'agit seulement de "pouvoir préciser quelles sont les valeurs figurant dans l'historique ou non", peut-être que gérer deux bases peut devenir pénible, surtout dans le cas de requêtes complexes. Tu pourrais donc auquel cas utiliser un champ supplémentaire dans ta table, par exemple un booleen "histo", que tu incluerais dans toutes tes requêtes afin de filtrer. Tu ne perdras pas beaucoup en vitesse d'execution, mais par contre en facilité de gestion, tu y gagneras énormément.

Bon courage
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2005, 14h21   #5
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
Non, je ne vais pas faire de débat sur les termes.

T'inquiète pas, la BD sera peu consulté.

Je note la petite optimatisation.
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2005, 15h47   #6
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
Avec mysql_select_db, on peut choisir qu'une seule BD.

Comment on fait pour avoir accès à 2 BD (sur la même connection) ?
INSERT ...BD2 SELECT ...BD1 ?

ou

Y a-t-il une astuce pour déplacer les enregistrement d'une DB vers l'autre ?
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2005, 15h51   #7
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
Hmm excellente question, peut-être ( mais je suis pas sûr ) un prefixage des tables avec le nom de la base pourra marcher, mais oops il se peut que tu aies deux bases avec le même nom ?
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2005, 15h55   #8
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
J'ai 2 BD avec un nom différents et chaque table (des 2 BD) a un nom unique.
Donc je n'ai aucune confusion dans le nommage.

Sinon, au pire, je met les tables d'archivage (historique) dans la même BD et comme çà j'aurais qu'une seul BD.
Es ce une bonne solution ?
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2005, 16h04   #9
Expert Confirmé
 
Avatar de KiLVaiDeN
 
Inscription : octobre 2003
Messages : 2 714
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 2 714
Points : 2 689
Points : 2 689
Je pense qu'il vaut mieux avoir une seule BD par application personnellement. Ca simplifie énormément le travail.
__________________
K
KiLVaiDeN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2005, 16h12   #10
Membre confirmé
 
Avatar de MANU_2
 
Inscription : mai 2002
Messages : 417
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 417
Points : 224
Points : 224
Ok, je vais tout mettre dans une seul BD
MANU_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 14h06   #11
Invité régulier
 
Inscription : avril 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 7
Points : 6
Points : 6
Code :
1
2
 
CREATE TABLE matable engine=archive AS SELECT * FROM maSecondeBase.matable;
Bonne chance
mshiesh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h12.


 
 
 
 
Partenaires

Hébergement Web