06 2018 档案

MySQL--BNL/ICP/MRR/BKA
摘要:# ##MySQL关联查询算法:BNL(Block Nested-Loop)ICP(Index Condition Pushdown)MRR(Multi-Range Read)BKA(Batched Key Access) # ##BNL(Block Nested-Loop)场景:假设TB1和TB2 阅读全文

posted @ 2018-06-27 23:58 笑东风 阅读(944) 评论(0) 推荐(0) 编辑

MySQL--Double Write
摘要:## ##目前大部分服务器使用4K或512B来格式化磁盘,而Innodb存储引擎使用默认16K的数据页,在写入16KB数据页时,可能存在页面部分数据写入到磁盘便发生宕机的情况,该问题被称为部分写失效(Partial page write)。虽然Innodb存储引擎提供redo log来保证事务ACI 阅读全文

posted @ 2018-06-27 22:06 笑东风 阅读(594) 评论(0) 推荐(0) 编辑

MySQL--Insert Buffer
摘要:在进行数据插入时,需要将数据插入到聚集索引和非聚集索引中,而对于非聚集索引,需要先确定数据要插入的索引页,再将索引页加载到内存中进行修改,而在业务上很难保证插入数据在非聚集索引上也是连续的,因此插入操作会引入大量随机IO操作。 Innodb存储引擎引入Insert Buffer Pool特性来对插入 阅读全文

posted @ 2018-06-27 22:03 笑东风 阅读(505) 评论(0) 推荐(0) 编辑

MySQL优化--INSERT ON DUPLICATE UPDATE死锁
摘要:INSERT ON DUPLICATE UPDATE与死锁 在MySQL中提供两种插入更新的方式:REPLACE INTO和INSERT ON DUPLICATE UPDATE,简化了“存在则更新,不存在则插入”的实现逻辑,但这两种方式在MySQL内部都被拆分为多个操作步骤且引入GAP锁来保证数据完 阅读全文

posted @ 2018-06-14 16:43 笑东风 阅读(3957) 评论(2) 推荐(2) 编辑

MySQL优化--NOT EXISTS和LEFT JOIN方式差异
摘要:在MySQL中,我们可以将NOT EXISTS语句转换为LEFT JOIN语句来进行优化,哪为什么会有性能提升呢? 使用NOT EXISTS方式SQL为: 而使用LEFT JOIN方式SQL为: 从查询效果来看,NOT EXISTS 方式耗时29.38秒,而LEFT JOIN方式耗时1.20秒,性能 阅读全文

posted @ 2018-06-11 16:03 笑东风 阅读(10806) 评论(2) 推荐(1) 编辑

导航

点击右上角即可分享
微信分享提示