MySQL 5.7 与 8 的性能比较
mysql5.7的基本情况就不多介绍了,相比大家也知道,在低性能要求,低并发,低请求,低数据量的情况下,速度还是可以的。
如果数据量过大,百万级,如果加上索引,加上字段限制速度也还是可以的,但是我最近的项目因为涉及到点赞之类的操作,那这个数据库的操作就相当的高了,每天光是pv就能到十几万,即便没人只有3-5票,那这在高峰期肯定是宕机的,已验证。
所有我最近又研究了一下mysql8版本,发现该版本操作类型被官方定义为nosql+mysql的范围,然后我把同样的数据库,分别在5.7跟8做了比较,个人认为如下:
(前提:都已加索引)
1:sql
$d=Db::table("production")
->field("sum(c.fz+c.pf+c.gf+c.yf) as zf,sum(c.fz) as fz,sum(c.pf) as pf,sum(c.gf) as gf,sum(c.yf) as yf,a.jz,a.pwlll,a.dz,a.lll,a.mtype,a.id,a.userid,a.type,a.title,a.member,b.name,b.phone,b.mail,b.sf,b.city,b.school,b.zy,a.teacher,a.fb,a.hj,a.tp,a.px,a.uptime,a.face")
->alias("a")
->join("user b","a.userid=b.userid","left")
->join("pf c","a.id=c.conid","left")
->where("a.status",2)
->page($page,30)
->group("a.id")
->order("zf desc,a.tp asc,a.dz desc,a.lll desc,a.id desc")
->select();
用该sql的情况是use字段十几万数据,production9000多,pf暂时6000多,目前用下来,mysql5.7的这一句sql就有5秒多,mysql8只有0.3秒左右。
而且mysql8查询的时间相对稳定,但是mysql5.7的时间变化较大、
2:sql
SELECT * FROM `fav` WHERE id>=1000000 limit 100
该表数据量大约是一百三十万条,mysql5.7测试读取花费1.3秒,mysql8花费0.003秒,可谓差距巨大啊。
3:我个人猜测,或许nosql的这种存储读取方式本身避免了逻辑性的存储,而精确式的数据为主,所有性能提升极大。
end。
https://my.oschina.net/shuaijin/blog/3159952

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
LibreOffice 6.4.0 发布,开源办公套件
LibreOffice的6.4.0版本发布了,主要更新内容如下: Writer 文字处理 新增了在 Writer 中将批注标为已处理的选项tdf#119228(Scott Clarke, Codethink) 一条已处理的批注 已处理批注的菜单 可见的已处理批注示例 同一批注被设为不可见 修复了编号列表和项目符号列表中忽视追踪修订格式的问题tdf#42748(László Németh, NISZ) 初始的列表 在“隐藏修订”模式中合并了列表中的第 1、2 项,将第 2 项一分为二,删除了第 3 项 原来的“显示修订”模式:列表数字未能显示追踪的修订 现在:列表数字按照追踪修订的格式显示 现在 Writer 的文本框架里也可以使用从下向上、自左至右的文字方向了(即正常横排文字逆时针转动 90°),参看博文(Miklos Vajna, Collabora) 框架中的从下向上、自左而右的文字 框架中从下向上、自左而右的行文方向可以在属性菜单里调节 现在可以在 Writer 里给图片和图表添加批注了。参看博文(Miklos Vajna, Collabora) 在 Writ...
- 下一篇
看完就懂 webpack 打包原理
什么是 webpack ? 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。 webpack 就像一条生产线,要经过一系列处理流程后才能将源文件转换成输出结果。 这条生产线上的每个处理流程的职责都是单一的,多个流程之间有存在依赖关系,只有完成当前处理后才能交给下一个流程去处理。 插件就像是一个插入到生产线中的一个功能,在特定的时机对生产线上的资源做处理。 webpack 通过 Tapable 来组织这条复杂的生产线。 webpack 在运行过程中会广播事件,插件只需要监听它所关心的事件,就能加入到这条生产线中,去改变生产线的运作。 webpack 的事件流机制保证了插件的有序性,使得整个系统扩展性很好。 -- 深入浅出 webpack 吴浩麟 webpack 核心概念 Entry 入口起点(entry point)指示 webpack 应...
相关文章
文章评论
共有0条评论来说两句吧...