mysql优化
一念成佛_LHY
这个作者很懒,什么都没留下…
展开
-
MySQL优化方案总结(一)
mysql优化方案左连接优化方案右连接优化方案join优化总结原创 2018-07-26 13:45:22 · 574 阅读 · 0 评论 -
mysql优化方案总结(二)
1.什么是索引索引的优势从IO和CPU两个方面,使得查询更加快速,减少磁盘IO索引的劣势2.mysql索引分类1.普通索引index :加速查找2.唯一索引 主键索引:primary key :加速查找+约束(不为空且唯一) 唯一索引:unique:加速查找+约束 (唯一)3.联合索引 -primary key(id,name):联...原创 2018-07-26 13:58:04 · 1325 阅读 · 0 评论 -
规避死锁方案
业务中需要遵循以下规则,可以很大程度上降低死锁发生的概率:1)以固定的顺序访问表和行。分为两种情景:对于不同事务访问不同的表,尽量做到访问表的顺序一致; 对于不同事务访问相同的表,尽量对记录的id做好排序,执行顺序一致;2)大事务拆小。大事务更倾向于死锁,如果业务允许,将大事务拆小。3)在同一个事务中,尽可能做到一次锁定所需要的所有资源,减少死锁概率。4)降低隔离级别。如果...原创 2019-04-02 10:14:14 · 312 阅读 · 0 评论 -
MySQL Innodb Redo Log 和 BinLog两阶段提交实现
RedoLog和Binlog区别1. redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。2. redo log 是逻辑物理日志,页面内的操作记录的是逻辑日志,页间的操作记录的是物理日志;binlog 是逻辑日志,相当于是Mysql server层的日志,适用于所有引擎,且可以通过参数控制写入。3. redo l...原创 2019-08-27 12:29:54 · 1379 阅读 · 0 评论 -
MySQL事务隔离级别实现原理
数据库实现隔离级别主要是会创建一个视图,访问的时候以视图的逻辑结果为准。“读未提交”隔离级别下直接返回记录上的最新值,没有视图概念; “读提交”隔离级别下,这个视图是在每个 SQL 语句开始执行的时候创建的。 “可重复读”隔离级别下,这个视图是在事务启动时创建的,整个事务存在期间都用这个视图。 “串行化”隔离级别下直接用加锁的方式来避免并行访问。...原创 2019-08-27 12:34:07 · 233 阅读 · 0 评论 -
MySQL count效率
count() 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加。最后返回累计值。对于 count(主键 id) 来说,InnoDB 引擎会遍历整张表,把每一行的 id 值都取出来,返回给 server 层。server 层拿到 id 后,判断是不可能为空的,就按行累加。 对于 count(1) 来说,InnoDB 引擎遍历...原创 2019-10-06 15:32:08 · 560 阅读 · 0 评论