2017-08-30 26 views
0

Je suis une erreur Mysql (5.7) tout en modifiant grande table (400 G) pour ajouter un index:Est-ce que innodb_online_alter_log_max_size a pris mémoire de la RAM ou le disque dur

ERROR 1799 (HY000): Creating index 'FTS_DOC_ID_INDEX' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again. 

Je suppose que je devais augmenter innodb_online_alter_log_max_size mais je J'en ai peur qu'il l'ait pris de RAM car il est déjà assez plein. N.B: J'avais assez d'espace sur le chemin tmpdir

Répondre

0

Il utilise de l'espace disque, pas de RAM. Mais je recommande que vous fassiez l'expérience. Utilisez create table foo_small like foo, puis une clause WHERE avec insert into foo_small select * from foo where ... afin que vous ayez une réplique de la table d'intérêt, significativement plus petite que 400 GiB. Maintenant, pratiquez l'opération coûteuse "index add", et vérifiez que la consommation de ressources est conforme à vos attentes, avant de faire l'énorme opération.