2012-09-27 3 views
1

J'ai une table MySQL MyISAM qui a 6.5G frais généraux. Je suis dans le doute si je devrais optimiser la table, ou juste en créer un nouveau, peupler de l'ancien et le renommer.mysql optimiser la table ou en créer une nouvelle

Ceci est un environnement de production, les temps d'arrêt doivent être aussi réduits que possible. Quelle est la meilleure façon de faire cela?

+0

Est-ce une table MyISAM ou InnoDB? –

+0

Déjà édité mon post :) c'est MyISAM – Nin

Répondre

0

La création d'une nouvelle table et la transposition des données signifient que l'original est toujours lisible, cependant, si vous autorisez les écritures, ces écritures devront être transposées une fois la copie terminée. La procédure d'optimisation est plus fiable car elle n'autorise pas les écritures tant que l'opération n'est pas terminée, mais comme vous le constatez, cela implique des temps d'arrêt.

Cela dépend vraiment si l'activité d'écriture sur cette table est suffisante pour provoquer des problèmes.

Vous devez probablement restaurer cette base de données à partir d'une machine de test et essayer plusieurs méthodes pour effectuer cette opération avant d'en valider une sur votre système de production.

+0

je l'optimiser, mais alors le tampon de tri de myisam était trop lent qui a corrompu la table et il a ensuite dû être réparé. Créer une nouvelle table était beaucoup mieux (dans ce cas). – Nin

Questions connexes