实战-130W表增加字段耗时

工作需要对130W的表增加字段,因为是操作线上数据库,所以提前在本地调查下耗时。

首先建表:

CREATE TABLE `alter_cloumn_test` (
  `id` int(11) unsigned NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

生成13W条数据:

1.生成13W条插入语句脚本:insert_column_sql.sh

for ((i=0; i<1300000;i++))
do
echo "insert into \`alter_cloumn_test\` values(${i});"
done

2.执行脚本insert_column_sql.sh  生成sql文件(insert_sql.sql)

sh insert_column_sql.sh > insert_sql.sql

3.计算插入13W条数据的耗时

echo `date +%s`
mysql -h ip -u userName -pPassWd databaseName < /root/wenwen.fu/sh/insert_sql.sql
echo `date +%s`

结果:

1486374924
1486375473耗时:549s

计算增加字段的耗时:

echo `date +%s`
mysql -h ip -u userName -pPassWd databaseName -e "alter table alter_cloumn_test add period int(2) unsigned default 0"
echo `date +%s`

结果:

1486377130
1486377151耗时:21s

  

  

  

时间: 2024-10-13 23:57:56

实战-130W表增加字段耗时的相关文章

oracle删除表字段和oracle表增加字段

这篇文章主要介绍了oracle表增加字段.删除表字段修改表字段的使用方法,大家参考使用吧 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….); 删除字段的语法:alter table tablenam

sql 创建表、删除表 增加字段 删除字段操作

[转]sql 创建表.删除表 增加字段 删除字段操作 下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助. 新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default \'默认值\' null ,[字段2] ntext null ,[字段3] datetime,[字段4] money null ,[字段5] int default 0,[

django 重写User表增加字段设置

models中: from django.contrib.auth.models import AbstractUser lass User(AbstractUser): mobile = models.CharField(max_length=11,unique=True,verbose_name='手机号') 并且在setting中进行 设置: AUTH_USER_MODEL = 'users.User' #应用表 + 表名 这样就可以给django认证的user表 增加字段 原文地址:ht

MySQL中大数据表增加字段,通过增加索引实现

MySQL中大数据表增加字段,通过增加索引实现 普通的添加字段sql ALTER TABLE `table_name` ADD COLUMN `num` int(10) NOT NULL DEFAULT 0 AFTER `addtime`; 普通的添加索引sql ALTER TABLE `table_name` ADD INDEX `num` (`num`) ; 但是线上的一张表如果数据量很大呢,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就很有风险了. 在网上

ASP.NET MVC5 之 AspNetUsers 表增加字段

MVC5 执行数据库迁移时,会生成一些默认的数据表,但是在实际的工作中.若用到的时候,难免要增添一些字段. 1.AspNetUsers 增加字段 A.打开MVC中的 IdentityModels.cs 文件,具体代码如下: public class ApplicationUser : IdentityUser    {        #region 添加字段        public string IsUser { get; set; }        public string Tel {

SqlServer2012-创建表、删除表 增加字段 删除字段操作

新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default \'默认值\' null ,[字段2] ntext null ,[字段3] datetime,[字段4] money null ,[字段5] int default 0,[字段6] Decimal (12,4) default 0,[字段7] image null ,) 删除表:Drop table [表名] 插入数据

家长-Parents表增加字段Token,Gender,Email,Portrait

alter table Parents add Token nvarchar(150) alter table Parents add Gender nvarchar(50) alter table Parents add Email nvarchar(50) alter table Parents add Portrait nvarchar(150)

SqlServer给一个表增加多个字段语法

添加字段语法 alter table table_name add column_name +字段类型+ 约束条件 给一个表增加多个字段: use NatureData go alter table XunHu add MaleCount varchar(50) null, FemaleCount varchar(50) null, SubadultCount varchar(50) null, LarvaeCount varchar(50) null, TraceType varchar(50

Mysql命令alter add:增加表的字段

alter add命令用来增加表的字段. alter add命令格式:alter table 表名 add字段 类型 其他; 例如,在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:   mysql> alter table MyClass add passtest int(4) default '0'; 1) 加索引   mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]); 例子: mysql> al