Supprimer une table de plusieurs millions d'enregistrement

alone06 Messages postés 115 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 18 mai 2016 - 15 déc. 2014 à 12:13
alone06 Messages postés 115 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 18 mai 2016 - 20 déc. 2014 à 18:33
Bonjour,
j'avais lancé un script (ou il y avait une erreur que malheureusement j'ai constaté un peu tard) du coup ça a généré plusieurs millions d'enregistrements.
Le soucis maintenant c'est que je n'arrive pas à supprimer cette table ni à partir de mysql ni par script car apparement le temps d'execution est trop long, j'ai essayé meme de supprimer des enrengistrement par lots meme de 30 mais sans resultat.
Si vous avez des propositions je suis preneur.

8 réponses

NHenry Messages postés 15144 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 24 juillet 2024 159
15 déc. 2014 à 13:57
As-tu essayé avec Truncate (mot clé SQL) ?
0
alone06 Messages postés 115 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 18 mai 2016
15 déc. 2014 à 14:06
oui bien sur, a partir de mysql mais sans résultats
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
15 déc. 2014 à 18:13
Bonjour,

Pour le DELETE, vous mettez quoi comme condition?

Si la condition porte sur un champ non indexé, ça explique les lenteurs.

Indexez le champ sur lequel vous faites la condition WHERE, par exemple, si c'est date_creation, vous indexez ce champ, ensuite vous faites votre DELETE:

DELETE * FROM ma_table WHERE date_creation = "2014-12-06"


A+
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
17 déc. 2014 à 11:54
Bonjour,

Pour quoi ne pas créer une table temporaire de même structure, dans laquelle tu insères les enregistrements valides de ta table d'origine ?
Tu droppes ensuite la table d'origine, la recrée, et y réinsère les enregistrements que tu auras gardé dans ta table temporaire (que tu droppes ensuite à son tour)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alone06 Messages postés 115 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 18 mai 2016
17 déc. 2014 à 18:07
le truc c'est que le drop ne marche plus ni trancate d'ailleurs vue que la table fait presque un Go alors le temps d'execution est très long et par lasuite stoppé par le serveur.
Aucune opération ne marche.
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
18 déc. 2014 à 09:11
C'est étonnant... et inquiétant de la part de mySQL...
Sinon, refais une nouvelle base ?
Est-ce que le select sur les enregistrements valables fonctionne ?
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
20 déc. 2014 à 11:06
Bonjour,

Bon, ben moi j'ai suggéré quelque chose, mais pas de réponse.....

Donc, je répète, indexer sur le champ sur lequel vous faite des 'WHERE.....'

J'ai géré des bases en mySQL de plus de 1go, et j'ai "bluffé" des pros qui avaient oublié ce détail.... Résultat, des requètes de 10 minutes exécutées en 10 secondes!!!

A vous de persister dans le bricolage ou écouter l'avis de pros....

A+
0
alone06 Messages postés 115 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 18 mai 2016
20 déc. 2014 à 17:25
dsl mpmp93, j'ai cru que j'avais répondu a ta proposition.
mais quand je lance la requete d'indexation ça beugue aussi.
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
20 déc. 2014 à 17:48
Ca bugge comment?

Une base mySQL c'est très robuste.

Néanmoins, il arrive qu'il y ait corruption de données.

Avez-vous fait régulièrement une sauvegarde?

A+
0
alone06 Messages postés 115 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 18 mai 2016
20 déc. 2014 à 18:33
wi j'ai deja une sauvegarde mais pour restaurer la bd meme histoire message de 'chargement en cours' affiché mais rien ne se passe.
0
Rejoignez-nous