Mysql应用使用mysql触发器高性能创造数据的实例
《Mysql应用使用mysql触发器高性能创造数据的实例》要点: mysql 触发器功能比较简单,大部分只用来简单的更新第三方表. 1,基表结果: ? `id` varchar(255) not null, ? `log_date` date default null, ? primary key (`id`) ) engine=innodb default charset=utf8 row_format=fixed 这个是对基表的批量插入存储过程: procedure db_myisam.sp_generate_tb1_data(in cur_1 int, ???????????????????????????????????????? in f_input int, ???????????????????????????????????????? in f_commit_num int ???????????????????????????????????????? -- stands for which month's date. ) begin ? declare t_count int; ? declare v_log_date date; ? declare c_date date default '2012-07-01 单线程造数据: query ok,0 rows affected (8 min 20.00 sec) 1kw行记录花了8分钟多,也就是一个线程每秒插入2w条记录. +----------+ | count(*) | +----------+ | 10000000 | +----------+ 1 row in set (34.35 sec) 创建复制表: create table tb3 like tb1; 这里比较恶心的是多建立了一个表tb3,因为mysql触发器暂时不支持自己对自己插入.MYSQL教程 这个是基于表tb3的后置插入触发器: create ? while v_cur_1 <= 10000000 1kw记录花了不到6分钟,也就是一个线程每秒插入大于3kw记录. query ok,1 row affected (5 min 14.07 sec) 可以看到,速度比存储过程提升了60%左右.MYSQL教程 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |