【发布时间】:2014-08-30 21:05:33
【问题描述】:
我在 Ubuntu 13.10 上使用 apt-get 在本地安装了带有 InnoDB 的 MySQL 5.5.37。我的机器是 i7-3770 + 32Gb 内存 + SSD 硬盘在我的桌面上。对于仅包含 150 万条记录的表“mytable”,以下 DDL 查询需要 20 多分钟(!):
ALTER TABLE mytable ADD some_column CHAR(1) NOT NULL DEFAULT 'N';
有什么方法可以改进吗? 我检查了
show processlist;
它表明它出于某种原因正在复制我的表格。 这是令人不安的不方便。有没有办法关闭这个副本? 是否有其他方法可以提高向大表中添加列的性能?
除此之外,我的数据库相对较小,只有 1.3Gb 转储大小。因此,它应该(理论上)100% 适合内存。
是否有可以提供帮助的设置? 迁移到 Precona 会对我有什么改变吗?
添加:我有
innodb_buffer_pool_size = 134217728
【问题讨论】:
-
即使它适合内存,它也必须将所有内容写回磁盘以使其永久化。
-
他们在为我谈论 MyISAM vs InnoDB
标签: mysql performance database-performance ddl