在年尾扯淡一下MYSQL5.7跟8的性能比较。

帅进 发布于 01/19 11:40
阅读 8K+
收藏 28

www.3983.am_【官方首页】-金沙娱乐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

www.3983.am_【官方首页】-金沙娱乐该表数据量大约是一百三十万条,mysql5.7测试读取花费1.3秒,mysql8花费0.003秒,可谓差距巨大啊。

www.3983.am_【官方首页】-金沙娱乐3:我个人猜测,或许nosql的这种存储读取方式本身避免了逻辑性的存储,而精确式的数据为主,所有性能提升极大。

end。

http://my.bsy-cn.com/shuaijin/blog/3159952

加载中
0
华兹格
华兹格

可以更详细的对比下

0
m
malie0

mysql8还真没研究过,性能提升真这么大的话是可以研究下

0
ddatsh
ddatsh

以上内容说和nosql存储方式就扯淡了

燃烧的时光
燃烧的时光
赞同
TestSelf-
TestSelf-
索引是个好东西
拜仁慕尼黑
拜仁慕尼黑
nosql 也得加索引啊
0
ChpiTer
ChpiTer

nosql不是万能的,再说nosql太多了

0
肖滔
肖滔
速度相差这么大?看来需要升级了
0
特拉仔
特拉仔

对比虽然很简单,但是这么一说倒是可以去看看MySQL8 ,但是为什么要用数据库直接存放点赞,用缓存啊

catroll
catroll
是的,我也觉得,这个点是设计有问题。
0
W
WindSpeed

到现在网上也没有怎么使用mysql8的NOSQL功能,好像是要收费的版本才能用?

写给三月
写给三月
你百度肯定不行,去官网看
0
卖爷爷的老红薯
卖爷爷的老红薯

Mysql8是一个巨大的性能提升,对于二进制uuid做为主键有史诗级别的加强,牛逼大发了。

卖爷爷的老红薯
卖爷爷的老红薯
回复 @错觉 : 😄,性能不输int整数,吊的不行。
错觉
错觉
二级制做主键 疯了吗
依剑_听雨
依剑_听雨
还不如直接用 postgresql ,更直接一些
0
卖爷爷的老红薯
卖爷爷的老红薯

www.3983.am_【官方首页】-金沙娱乐但是楼主这种测试,明显有问题。

0
冰力
冰力
和 PostgreSQL 来个对比吧,哈哈哈
返回顶部
顶部

页面底部区域 foot.htm