提升MySql的性能的几个方面

昨天参加《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下的查询 
控制机制  
图片3
效果测试 
图片4

提升MySql的性能的几个方面

: » 提升MySql的性能的几个方面

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/252339.html

(0)
上一篇 2022年5月4日
下一篇 2022年5月4日

相关推荐

发表回复

登录后才能评论