BEGIN
SET @v_index=0;
WHILE @v_index<100000 DO
SET @v_index=@v_index+1;
INSERT INTO myindex (vc_name,vc_city,i_age,i_schoolid) VALUES('name'+@v_index,'city'+@v_index,12,@v_index) ;
END WHILE;
END建了一个存储过程,但是,执行的时候很慢,等了几分钟,停止了,一看只有1000条,刚好1000条,而且,vc_name列和vc_city列的值都是@v_index的值,而不是 ‘name’+@v_index,是不是不是用加号呢? 然后主要问题是怎么样能让他快一点插入很多条数据。谢谢
SET @v_index=0;
WHILE @v_index<100000 DO
SET @v_index=@v_index+1;
INSERT INTO myindex (vc_name,vc_city,i_age,i_schoolid) VALUES('name'+@v_index,'city'+@v_index,12,@v_index) ;
END WHILE;
END建了一个存储过程,但是,执行的时候很慢,等了几分钟,停止了,一看只有1000条,刚好1000条,而且,vc_name列和vc_city列的值都是@v_index的值,而不是 ‘name’+@v_index,是不是不是用加号呢? 然后主要问题是怎么样能让他快一点插入很多条数据。谢谢
用concat就可以了,怎么可能刚好1000条,是不是你看错了,查询一下
CREATE PROCEDURE DDA()
BEGIN
SET @v_index=0;
WHILE @v_index<100000 DO
INSERT INTO myindex (vc_name,vc_city,i_age,i_schoolid) VALUES(CONCAT('name',@v_index),CONCAT('city',@v_index),12,@v_index) ;
SET @v_index=@v_index+1;
END WHILE;
END$$
DELIMITER ;