MySQL使用null添加列的时间明显长于默认值""

时间:2017-09-08 14:29:23

标签: mysql

我尝试在MySQL服务器上运行以下命令,并且很多次它从未完成:

ALTER TABLE `mytable`
    ADD COLUMN my column varchar(255) DEFAULT NULL NULL;

我不得不多次重启MySQL才能完成它。

当我尝试时:

ALTER TABLE `mytable`
    ADD COLUMN my column varchar(255) DEFAULT "" NULL;

它完成得更快(在几秒钟内)并且100%的时间都可以工作。

数据库是15 Gig,大约有6个数据库实例在云服务器上运行,有32个ram。 mySQL版本如下:

innodb_version  5.6.31
protocol_version    10
slave_type_conversions  
version 5.6.31
version_comment MySQL Community Server (GPL)
version_compile_machine x86_64
version_compile_os  Linux

1 个答案:

答案 0 :(得分:0)

您不需要 DEFAULT NULL部分。它是NULL列的默认行为。

ALTER TABLE `mytable`
ADD COLUMN 'my column' varchar(255) NULL ;

就够了