文章 2016-05-23 来自:开发者社区

MySQL内核月报 2014.12-MySQL· 性能优化·5.7 Innodb事务系统

背景知识 为了便于理解下文,我们先简单梳理下Innodb中的事务、视图、多版本的相关背景知识。 在Innodb中,每次开启一个事务时,都会为该session分配一个事务对象。而为了对全局所有的事务进行控制和协调,有一个全局对象trx_sys,对trx_sys相关成员的操作需要trx_sys->mutex锁。 Innodb使用一种称做ReadView(视图)的对象来判断事务的可见性(也就是.....

文章 2016-05-23 来自:开发者社区

MySQL内核月报 2014.11-MariaDB· 性能优化·filesort with small LIMIT optimization

从MySQL 5.6.2/MariaDB 10.0.0版本开始,MySQL/MariaDB针对"ORDER BY ...LIMIT n"语句实现了一种新的优化策略。当n足够小的时候,优化器会采用一个容积为n的优先队列来进行排序,而不是排序所有数据然后取出前n条。 这个新算法可以这么描述:(假设是ASC排序) 建立一个只有n个元素的优先队列(堆),根节点为堆中最大元素 根据其他条件,依次从表中取.....

文章 2016-05-23 来自:开发者社区

MySQL内核月报 2014.11-MySQL· 性能优化·hash_scan 算法的实现解析

问题描述 首先,我们执行下面的TestCase: 随着 t1 数据量的增大,rpl_hash_scan.test 的执行时间会随着 t1 数据量的增大而快速的增长,因为在执行 'delete from t1;' 对于t1的每一行删除操作,备库都要扫描t1,即全表扫描,如果 select count(*) from t1 = N, 则需要扫描N次 t1 表, 则读取记录数为: O(N + (N...

文章 2016-05-23 来自:开发者社区

MySQL内核月报 2014.09-MariaDB· 性能优化·Extended Keys

MariaDB 10.0.8增加了一种新的执行计划——Extended Keys。 它充分利用了InnoDB的隐藏列来做执行计划,因为我们都知道InnoDB的索引组织表会把主键放在最末尾,所以实际上每个索引最后都包含了主键。 打开和关闭这个优化器选项的命令如下: Enable: Disable: MariaDB 10.0.8中默认选项是 'extended_keys=off'. MariaD...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

数据库

数据库领域前沿技术分享与交流

+关注
相关镜像