惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
V
V2EX
Jina AI
Jina AI
爱范儿
爱范儿
M
MIT News - Artificial intelligence
量子位
L
LangChain Blog
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
腾讯CDC
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss

博客园 - RedFox(低调)

多大的船决定要承担多大的阻力,多大的风浪会炼出多厉害的船长,大副,二副,水手。。。。很多时候不是你选择了风浪,而是风浪选择并决定了你!优秀的水手觉得不是战胜了风浪,而是适应了风浪。 jdk国内镜像 基于vue-cli的vs code设置 maven 国内完整源 java dom4j 读写XML cas4.2的安装 java websocket 解决openresty http客户端不支持https的问题 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别 为何Google这类巨头会认为敏捷开发原则是废话? git ldap 获取大众点评数据 svn for vs SQL 导出表数据存储过程 色彩设计,是产品设计,营销渠道的一个重要环节 sql xml 腾讯或正在陷入全面危机? 项目实施与管理的几点建议 ERP与进销存软件的区别
怎么看待MYSQL的性能
RedFox(低调) · 2016-12-21 · via 博客园 - RedFox(低调)

MySQL在单实例性能方面和Oracle相比还有一些差距,我们通过规范和技术手段来降低这些性能差距带来的问题。

首先,大量甚至海量数据的增删改、查询、聚合查询的性能还有待提高。为了规避这些问题,我们在开发规范里面要求MySQL的实例大小低于150G,要求带变长行的表行数不超过500w,尽量降低查询、修改、删除脚本的复杂度,以原子查询的方式访问数据库。

其次,MySQL的优化器还不够完善。MySQL的优化器还更接近于基于规则的优化,而不是基于成本的优化,对复杂查询的智能优化有待提高。因此MySQL数据库多表联合查询的性能还不如Oracle。我们的开发规范要求开发人员尽量避免三个表以上的表关联查询。

第三,原生版本的MySQL主从延迟挺严重,远高于Oracle数据库。为此我们将批量更新和批量删除的事务的粒度拆分的比较细,同时在核心业务上使用SSD硬盘来降低主从延迟对业务的影响。

mysql单机高并发时性能不如oracle最核心的原因是什么?由于mysql是一个连接给一个线程,当并发高的时候,每秒需要几百个甚至更多的线程,其中创建和销毁线程还好说,大不了多耗费点内存,线程缓存命中率下降还有创建销毁线程的性能增加问题---这个问题不是特别大,重点是mysql底层瞬间处理这几百个线程提交的sql(有时候一个页面会有10多条sql,cpu一次只能处理一条sql)会导致cpu的上下文切换,性能抖动,然后性能下降,虽然mysql对多核cpu有做了优化,但是也并不完美,也仅限于24核心上下(也许是64以内,有做过测试,超过24再增加核心效果不明显)。所以mysql企业版本推出了线程池技术,另外percona的mysql有免费的线程池提供。可以极大提高高并发下mysql的性能(也就比没有大量并发的时候低20-30%左右这样子)