公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
昨天参加《2015中华数据库与运维大会》,想起前几年参加记录的笔记。今天特地整理了一下笔记,在这里记录一下,共大家参考学习!
1、读比写要强
查询操作比较强
简单的sql很强(PK或有效的索引查找)
要求:内存里完成排序、分组统计、无子查询
更新操作很弱
写存贮引擎日志
写MySQL Binlog
Server&Storage层的分布式事务协议
2、MySQL的问题
全局锁太多
SYS CPU 过高
Trx_list
Read View List
Lock List
Spinlock & RW Lock & Mutex
临界区太大
大锁(事务表、Buffer、Index、Commit)
并发是关键
降低并发,减少SYS CPU
合理的并发时程减少锁争用
减少事务表长度,缩短事务表的临界区
控制表的大小,缩短索引维护的临界区
读写没有分离
调整优化应用的读写比例
MySQL无法分别控制读写,以配合应用的读写比例
优化器太弱,提高SQL写法
对子查询的优化很差
对Join的优化很差
对索引的选择不可靠
3、MySQL的并发控制
操作分类
查询
复杂的查询
简单的查询
更新
简单的事务
复杂的事务
读写分开
限定总的并发数
限定查询的并发数
限定事务的并发数
事务分类
简单的事务
Auto Commit模式
每个DML语句后自动Commit
复杂的事务
非Auto Commit模式
由多个DML构成一个语句
查询分类
简单查询
Auto Commit模式
根据PK或索引查找少量记录
复杂查询
Auto Commit模式
包含子查询、分组统计、没有Where条件等
事务查询
人为事务或非Auto Commit下的查询
控制机制
效果测试
最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!
本文原文出处:业余草: » 提升MySql的性能的几个方面