小编jas*_*eUK的帖子

Mysql Alter Tables 添加1列需要5个小时

最近有一个问题,在一个有 100 万行的表上添加一列需要 5 个小时。我添加了一个默认值为 1 的列。这是在夜间完成的,因此数据库上没有太多活动,但是一旦开始,它确实有很多锁。

查看服务器统计信息 CPU、内存和硬盘空间都远低于其最大值的一半。所以我不知道为什么这花了这么长时间,有问题的表只有 7 列,包括新的。数据类型为 int(11)、datetime 或 varchar(45)。

我使用的是 MySQL Cluster 7.3.3,有 4 个数据节点,它们都在同一个数据中心。

谁能建议为什么简单地添加一列需要 5 个小时?

表结构:

CREATE TABLE ddi_t ( 
    id int(11) NOT NULL AUTO_INCREMENT, 
    ddi varchar(45) NOT NULL, 
    is_deleted tinyint(1) NOT NULL DEFAULT '0', 
    created_time datetime NOT NULL, 
    module_group_id int(11) DEFAULT NULL, 
    created_user_id int(11) DEFAULT NULL, 
    supplier_id int(11) DEFAULT '1', 
    PRIMARY KEY (id), 
    UNIQUE KEY uq_ddi_1 (ddi), 
    KEY fk_ddi_1_idx (module_group_id) 
) ENGINE=ndbcluster AUTO_INCREMENT=935352 DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)

mysql mysql-cluster mysql-5.6

5
推荐指数
1
解决办法
3446
查看次数

标签 统计

mysql ×1

mysql-5.6 ×1

mysql-cluster ×1