百万之内mysql性能_MySQL的百万级性能测试——(一)环境搭建与百万级数据插入

本文探讨了在MySQL中,批量插入与单一插入数据的性能对比,测试结果显示批量插入性能远优于单一插入。作者通过本地和远程数据库的测试,分析了不同数据量下的插入耗时,强调在大数据量情况下应使用批量插入。此外,文章还提到了后续测试计划,包括不同数据库连接池的性能测试和NOSQL查询性能对比。

MySQL——全球最流行的数据库(没有之一,就使用量而言)。

——开源数据库。

——与mongoDB不同,MySQL是一门关系型数据库。此系列文章,作者本人将推演至个人毕业设计之中。所以在毕设前,git项目不公开。若有真实的必要需求,请在文章底部联系本人。

转载文章需注明出处,thank you!PS.文章颇显粗糙稚嫩,承望不吝赐教!

性能测试灵感来源:

前几天在读的《深入NOSQL》时,引发一个思考,在庞大的数据中,是否应该思考一下MySQL关联查询的实用性!

20f50b62d5ca?utm_source=oschina-app

深入NoSQL

举一个简单的例子,微博网站,A关注了100个人,B关注了100个人,A和B是好友,那么两个人共同关注了哪些人呢,然后查询显示出来?(在数据量是百万级千万级的情况下)

那么,是否这个时候,使用NOSQL来设计整个数据库更加优越呢?

研究方向:1.使用批量插入数据快?还是循环一条条插入数据快?两者相差多少?

(批量插入:关闭事务,等数据全部加入命令列表,再开启事务插入数据)

(单一插入:一条一条数据插入)

2.数据池的加入对数据插入性能是否有影响?

3.远程数据库与本地数据库插入的差距?

测试环境:本地机器:CPU:i5-4210U 双核四线程

内存:8GB,DDR3L

系统:Windows10专业版 1709版本

20f50b62d5ca?utm_source=oschina-app

本地渣渣本本服务器:系统:CentOS7.4  64位

CPU:Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz  单核

内存:2GB

20f50b62d5ca?utm_source=oschina-app

服务器配置

测试工具:开发工具:IDEA 2017.3

本地MySQL版本:MySQL 5.7.17

远程MySQL版本:MySQL 5.7.17

其他:JDK1.8,阿里maven仓库,阿里druid连接池

百万级数据插入:

——为了保证数据的精确性,每次数据测试,都将进行三次测试!项目目录结构(后续将加入c3p0、dbcp以及hikaricp连接池的性能测试)

20f50b62d5ca?utm_source=oschina-app

项目目录结构数据库设计

20f50b62d5ca?utm_source=oschina-app

数据库设计万级数据的本地插入

——druid/local/批量数据插入

20f50b62d5ca?utm_source=oschina-app

总耗时在2.1秒,循环占据0.8秒万级数据的本地插入

——druid/local/一一数据插入

20f50b62d5ca?utm_source=oschina-app

总耗时在26.5秒左右,循环即插入

总结:万级的数据的本地插入既可以看出,MySQL中用批量插入,性能是一条条数据插入的13倍!

因此在下一级的十万级数据插入,只进行一次一一插入数据的测试。十万级数据的本地插入

——druid/local/批量数据插入

20f50b62d5ca?utm_source=oschina-app

耗时9秒左右,10倍的数据量,4.5倍性能消耗十万级数据的本地插入

——druid/local/一一数据插入

20f50b62d5ca?utm_source=oschina-app

耗时265秒!10倍数据量,10倍的性能消耗

总结:十万级的数据本地插入即可以看出,MySQL中用批量插入,性能消耗和数据量插入应该不是成正比的,同时一条条数据插入完全可以淘汰!万级数据的远程插入

——druid/remote/一一数据插入

未完待续!待补:

1.远程数据库连接 插入数据(万级、十万级、百万级)

2.本地数据库连接 插入数据(百万级)

3.不用数据库连接 插入数据(本地+远程 (万,十万,百万)级)

4.打包项目,在服务器模拟服务器本地数据库插入,打印日志,进行测试

5.购买阿里的云数据库RDS,插入比较

6.

c3p0、dbcp以及hikaricp连接池的性能测试

关于查询

1.建立索引查询与纯粹关联查询差距

2.使用nosql的插入数据性能测试

3.使用nosql的查询数据性能测试

(后续测试不会基本不会测试单一数据插入,毕竟是不推荐的技术,性能差距太大。后续应该基本采用数据库连接池查询,因为实际开发中项目都是需要数据库连接池的开进行高效复用)个人博客:写过诗的程序猿(https://www.hezhiming.xin)

个人邮箱:hezhimingabc@qq.com

个人微信:hezhiming_

如果您喜欢请点击一波关注,谢谢你的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值