怎么用Mysql存储过程造百万级数据


本文小编为大家详细介绍“怎么用Mysql存储过程造百万级数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Mysql存储过程造百万级数据”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。(1)由于是使用存储过程,mysql从5.0版开始支持存储过程,那么需要mysql的版本在5.0或者以上。如何查看mysql的版本,使用下面sql语句查看:(2)创建两张表,表结构一致,但使用的存储引擎不一样,如下所示,普通表使用mysql5.5版本后默认的INNODB存储引擎,内存表使用MEMORY存储引擎。由于MEMORY存储不常用这里简单说一下其特点:MEMORY引擎表结构创建在磁盘上,数据全部放在内存中,访问速度较快,但是当MySQL重启后或者一旦系统奔溃的话,数据都会消失,结构还存在。(1)创建自动生成数据的函数,插入时使用;(2)创建插入内存表数据存储过程,调用已创建好的数据生成函数;(3)创建内存表数据插入普通表存储过程;(4)调用存储过程。(5)数据查看验证(1)生成n个随机数字函数运行截图:脚本所用到的mysql函数及其功能如下:a.concat():将多个字符串连接成一个字符串。b.Floor():向下取整。c.substring(string, position, length)第一个参数:string指的是需要截取的原字符串。第二个参数:position指的是从哪个位置开始截取子字符串,这里字符的位置编码序号是从1开始,若position为负数则从右往左开始数位置。第三个参数:length指的是需要截取的字符串长度,如果不写,则默认截取从position开始到最后一位的所有字符。d.RAND():只能生成0到1之间的随机小数。(2)创建随机生成手机号函数函数运行截图:(3)创建随机生成用户名函数函数运行截图:(4)随机生成用户状态函数函数运行截图:(5)查看数据库中所有自定义函数信息(1)创建插入内存表数据存储过程入参n是多少就表示往内存表memory_user_info插入多少条数据存储过程运行截图:(2)创建内存表数据插入普通表存储过程这是最主要的存储过程,也是入口,利用对内存表的循环插入和删除来实现批量生成数据,不需要更改mysql默认的max_heap_table_size值(默认值是16M),max_heap_table_size 的作用是配置用户创建内存临时表的大小,配置的值越大,能存进内存表的数据就越多。存储过程运行截免费云主机域名图:(3)查看存储过程的状态模糊查询结果:mysql称存储过程的执行为调用,因此mysql执行存储过程的语句为CALL。CALL接受存储过程的名字以及需要传递给它的任意参数。通过调用add_user_info存储过程,不断循环插入内存表memory_user_info,再从内存表获取数据插入普通表user_info,然后删除内存表数据,以此循环直至循环结束。循环100次,每次生成10000条数据,共生成一百万条数据。在普通表数据达到6万条时,已经耗时大概在23分钟左右,以这个时间推算,100万数据生成预计需要6小时左右。耗时的点主要是在四个随机生成字段数据的函数上。如果字段数据不要求随机,那么将会快很多。数据记录如下效果:读到这里,这篇“怎么用Mysql存储过程造百万级数据”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: 怎么利用Debug调试代码解决0xC0000005错误

本篇内容介绍了“怎么利用Debug调试代码解决0xC0000005错误”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!VS2019利用Debug调试代码解决0xC…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/29 18:08
下一篇 05/29 18:08

相关推荐