У меня MySQL 5.5.37 с InnoDB, установленным локально с помощью apt-get на Ubuntu 13.10. Моя машина - i7-3770 + 32 ГБ памяти + жесткий диск SSD на моем рабочем столе. Для таблицы mytable, содержащей всего 1,5 миллиона записей, следующий DDL-запрос занимает более 20 минут (!):
ALTER TABLE mytable ADD some_column CHAR(1) NOT NULL DEFAULT 'N';
Есть ли способ его улучшить? Я проверил
show processlist;
и он показывал, что по какой-то причине копирует мою таблицу. Это очень неудобно. Есть ли способ отключить эту копию? Есть ли другие способы повысить производительность добавления столбца в большую таблицу?
В остальном моя БД относительно мала, размер дампа всего 1,3 ГБ. Поэтому он должен (по идее) на 100% умещаться в памяти.
Есть ли настройки, которые могут помочь? Изменит ли что-нибудь для меня переход на Precona?
Добавить: у меня есть
innodb_buffer_pool_size = 134217728