工作需要对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