MySQL上手起来其实很快,但是要深入研究还是不容易,性能调优就是最大的拦路虎,搞定了这只拦路虎,我们就能把MySQL运用自如了。
MySQL性能怎么样?
不同版本的MySQL性能差距非常大,不同云厂商提供MySQL做的优化也不尽相同,不同业务数据模型也有区别,只有经过测试的数据才有意义。
下图是ucloud团队针对MySQL的基础测试,我们在实际使用中最好也实测一下。
针对分页性能问题,《高性能MySQL》中提到了这两个方案,感兴趣的小伙伴可以去看看。如果想成为高级工程师,那么不仅要知道怎么做,还需要对两者的优缺点进行对比,阐述选型思路。
能说出优缺点,说明对方案还是比较清楚的。如果想更进一步加分,需要有竞争方案,比如分表是常规地通过中间件,还是放公共包。
小伙伴们日常多结合自己的项目思考,可以说是自己业务有特殊性,比如需要二维分表,很多中间件不支持,也可以说分表逻辑经过评估,是比较固定的,为此引入新的组件反而成本更大,自圆其说,才能凸显能力。
这里给大家推荐一个开源组件——Mycat,它是一个优秀的数据库中间件,其本质就是提供代理服务,对数据库进行访问,提供包括读写分离、分库分表等能力。
部署容易,耦合性低,感兴趣的朋友可以了解一下。
看着很简单的四个步骤,但在业务量已经比较庞大的情况下,操作也是非常复杂的。首先为了安全,每一阶段通常需要比较大的流转时间,也就是说可能已经跨越了多个开发版本。
其次是会带来短期性能损失——无论是双写,还是读检查,都做了额外的数据请求。在同样的请求量下,服务响应时间至少增大了一倍。
面试点评
MySQL的性能测试与调优,是MySQL常见但又高阶的内容,深入理解MySQL的性能与调优,才能良好的胜任相关开发与维护工作。
至此,MySQL的篇幅就已经完结了,洋洋洒洒几万字。
每篇大纲写起来很快,但最后的校对和排版花了很多的时间,因为想要呈现出最准确又简单的知识给小伙伴们,让大家读完之后能够把这些知识变成自己的,在今后的面试、工作中学以致用!