J'ai une base de données MySQL avec une table MyISAM avec 4 millions de lignes. Je mets à jour cette table environ une fois par semaine avec environ 2000 nouvelles lignes. Après la mise à jour, je modifie alors la table comme ceci:MySQL ALTER TABLE sur une très grande table - est-il sécuritaire de l'exécuter?
ALTER TABLE x ORDER BY PK DESC
je commander la table par le champ de clé primaire dans l'ordre décroissant. Cela ne m'a causé aucun problème sur ma machine de développement (Windows avec 3 Go de mémoire). Trois fois je l'ai essayé avec succès sur le serveur Linux de production (avec 512 Mo de RAM - et en obtenant la table triée résultante en environ 6 minutes chaque fois), la dernière fois que je l'ai essayé, j'ai dû arrêter la requête après 30 minutes base de données à partir d'une sauvegarde.
Un serveur de 512 Mo peut-il faire face à cette instruction alter sur une table aussi grande? J'ai lu qu'une table temporaire est créée pour exécuter la commande ALTER TABLE. Question: Est-ce que cette commande alter peut être exécutée en toute sécurité? Quel devrait être le moment prévu pour l'altération de la table?
Je pense que "très grande table" est probablement une surestimation. 4M lignes n'est pas une très grande table. 1 milliard pourrait éventuellement être. – MarkR