importer un csv sur une table en prod

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


julienr
WRInaute impliqué
WRInaute impliqué
 
Messages: 913
Inscription: 5 Aoû 2003

importer un csv sur une table en prod

Message le Lun Juin 21, 2010 13:16

slt,

J'utilise load data infile pour charger un gros csv sur une table en prod, seulement cela met 20min, pendant ces 20mins la table est lockée le site ne peut plus répondre, c'est 10mins si je désactive les index, seulement mes requêtes échoue car l'index fulltext n'est plus là. Comment faire :

1/ pour garder le site "ouvert" pendant l'import
2/ essayer de garder un peu de perf (le serveur load à 5/6 pendant ce temps)

?

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2685
Inscription: 13 Fév 2004

Re: importer un csv sur une table en prod

Message le Lun Juin 21, 2010 15:15

Un peu au hasard...
- utiliser innoDB plutôt que myIsam?
- charger dans une autre table, et remplacer la table ensuite (si c'est un ajout ça implique de faire une copie de la table originale d'abord)?
- découper ton CSV en petits bouts et les charger successivement avec une petite pause entre chaque

Jacques.


julienr
WRInaute impliqué
WRInaute impliqué
 
Messages: 913
Inscription: 5 Aoû 2003

Re: importer un csv sur une table en prod

Message le Lun Juin 21, 2010 15:37

innoDB pourquoi pas mais j'ai besoin du fulltext...
charger dans une autre table pourquoi pas mais comment remplacer l'ancienne par la nouvelle, flush tables + cp ?
découper pourquoi pas aussi ou forcer le client à prendre moins de ressources ?

c'est plus sur un switch de la table que j'ai commencé des recherches en vain , je suis pas certain qu'il y ai une façon propre et efficace ?

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2685
Inscription: 13 Fév 2004

Re: importer un csv sur une table en prod

Message le Lun Juin 21, 2010 16:03

begin;
alter table prodtable rename to getoutoftheway;
alter table newtemptable rename to prodtable;
commit;

C'est en tous cas comme ça que je ferais en postgresql, je suppose que ça doit marcher avec mysql...

Jacques.


julienr
WRInaute impliqué
WRInaute impliqué
 
Messages: 913
Inscription: 5 Aoû 2003

Re: importer un csv sur une table en prod

Message le Lun Juin 21, 2010 16:18

bien vu, merci.
mysql.com a écrit:RENAME TABLE ancienne_table TO backup_table,
nouvelle_table TO ancienne_table,
backup_table TO nouvelle_table;


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité