1. 1百万的测试数据的生成 declare @index int; begin set @index=0; while @index<1000000 begin insert into teptable values(@index,STR(@index)+'name',str(@index)+'appname'); set @index=@index+1; end end 2. merge into sql 更新语句 -- 同库数据更新merge into teptable…
CREATE TABLE `vote_record_memory` ( `id` INT (11) NOT NULL AUTO_INCREMENT, `user_id` VARCHAR (20) NOT NULL, `vote_id` INT (11) NOT NULL, `group_id` INT (11) NOT NULL, `create_time` datetime NOT NULL, PRIMARY KEY (`id`), KEY `index_id` (`user_id`) USI…
DROP PROCEDURE IF EXISTS insert_batch; CREATE PROCEDURE insert_batch() BEGIN ; loopname:LOOP '); ; THEN LEAVE loopname; END IF; END LOOP loopname; END; CALL insert_batch(); 总耗时: [SQL] CALL insert_batch();受影响的行: 1时间: 873.795s…
想往某个表中插入几百万条数据做下测试, 原先的想法,直接写个循环10W次随便插入点数据试试吧,好吧,我真的很天真.... DROP PROCEDURE IF EXISTS proc_initData;--如果存在此存储过程则删掉 DELIMITER $ CREATE PROCEDURE proc_initData() BEGIN ; DO INSERT INTO text VALUES(i,CONCAT('姓名',i),'XXXXXXXXX'); ; END WHILE; END $ CALL…
转自:http://www.cnblogs.com/fnz0/p/5713102.html 想往某个表中插入几百万条数据做下测试, 原先的想法,直接写个循环10W次随便插入点数据试试吧,好吧,我真的很天真.... DROP PROCEDURE IF EXISTS proc_initData;--如果存在此存储过程则删掉 DELIMITER $ -- 在mysql客户端中分隔符默认是分号(:). CREATE PROCEDURE proc_initData() BEGIN DECLARE i IN…
基本语法: Create Trigger [TriggerName] ON [TableName] FOR [Insert][,Delete][,Update] AS --触发器要执行的操作语句. Go 注意: 触发器中不允许以下 Transact-SQL 语句: Alter DATABASE ,Create DATABASE,DISK INIT, DISK RESIZE, Drop DATABASE, LOAD DATABASE, LOAD LOG, RECONFIGURE, RESTORE…
假定我们的表结构如下 代码如下 CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( 50 ) NOT NULL, value VARCHAR( 50 ) NOT NULL, other_value VARCHAR( 50 ) NOT NULL ) 通常情况下单条插入的sql语句我们会这么写: 代码如下 INSERT INTO example (example_id, name, value, other_value)…