2017年8月21日
摘要: 【pt-table-checksum】pt-table-checksum是percona-toolkit系列工具中的一个, 可以用来检测主、 从数据库中数据的一致性。其原理是在主库上运行, 对同步的表进行checksum, 记录下来。 然后对比主从中各个表的checksum是否一致, 从而判断数据是 阅读全文
posted @ 2017-08-21 17:37 王彦军 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 【Global Transaction ID】GTID(Global Transaction ID)是对于一个已提交事务的编号,并且是一个全局唯一的编号。GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调 阅读全文
posted @ 2017-08-21 17:12 王彦军 阅读(365) 评论(0) 推荐(0) 编辑
摘要: Batched Key Access是MySQL 5.6 版本中的新特性,是一种用户提高表join性能的算法。【Batched Key Access】 对于多表join语句,当MySQL使用索引访问第二个join表的时候,使用一个join buffer来收集第一个操作对象生成的相关列值。BKA构建好 阅读全文
posted @ 2017-08-21 13:19 王彦军 阅读(683) 评论(0) 推荐(2) 编辑
摘要: 5.5 版本之前,MySQL本身只支持一种表间关联方式,就是嵌套循环(Nested Loop)。如果关联表的数据量很大,则join关联的执行时间会非常长。在5.5以后的版本中,MySQL通过引入BNL算法来优化嵌套执行【Nested Loop Join】 NLJ 算法:将驱动表/外部表的结果集作为循 阅读全文
posted @ 2017-08-21 12:33 王彦军 阅读(2413) 评论(0) 推荐(2) 编辑
摘要: Index Condition Pushdown (ICP)是MySQL 5.6 版本中的新特性,是一种在存储引擎层使用索引过滤数据的一种优化方式。【Index Condition Pushdown】 当关闭ICP时,index 仅仅是data access 的一种访问方式,存储引擎通过索引回表获取 阅读全文
posted @ 2017-08-21 12:15 王彦军 阅读(192) 评论(0) 推荐(0) 编辑
摘要: MySQL 5.6版本提供了很多性能优化的特性,其中之一就是 Multi-Range Read 多范围读(MRR) , 它的作用针对基于辅助/第二索引的查询,减少随机IO,并且将随机IO转化为顺序IO,提高查询效率。【Multi-Range Read】 在没有MRR之前,或者没有开启MRR特性时,M 阅读全文
posted @ 2017-08-21 11:46 王彦军 阅读(979) 评论(0) 推荐(0) 编辑
摘要: 深入理解 index merge 是使用索引进行优化的重要基础之一。 【 index merge】 当where谓词中存在多个条件(或者join)涉及到多个字段,它们之间进行 AND 或者 OR,那么此时就有可能会使用到 index merge 技术。简单的说,index merge 技术其实就是: 阅读全文
posted @ 2017-08-21 11:30 王彦军 阅读(330) 评论(0) 推荐(0) 编辑