想生成这样的数据。
id
1
2
3
4
……
不想用循环,太慢了。但不用循环又不知道有什么好办法。
id
1
2
3
4
……
不想用循环,太慢了。但不用循环又不知道有什么好办法。
解决方案
40
CREATE TABLE `tb` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`value` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=98887 DEFAULT CHARSET=utf8 |
—
CREATE DEFINER=`dba_jack`@`localhost` PROCEDURE `p`( vRows int )
SQL SECURITY INVOKER
begin
while vRows >0 do
insert tb(value) values(now());
set vRows = vRows – 1;
end while;
end
—
start transaction;call dbi.p(50000);commit;
—
简单的表,简单的存储过程循环,慢是原因是你没有开事务,所以逐提交数据导致的吧
`id` int(11) NOT NULL AUTO_INCREMENT,
`value` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=98887 DEFAULT CHARSET=utf8 |
—
CREATE DEFINER=`dba_jack`@`localhost` PROCEDURE `p`( vRows int )
SQL SECURITY INVOKER
begin
while vRows >0 do
insert tb(value) values(now());
set vRows = vRows – 1;
end while;
end
—
start transaction;call dbi.p(50000);commit;
—
简单的表,简单的存储过程循环,慢是原因是你没有开事务,所以逐提交数据导致的吧