MySQL Internals Optimizer
ition pruning)不依赖表的存储引擎,所以这功能是MySQL查询优化器的一部分。接下来章节描述分区裁剪(partition pruning)的细节。
分区裁剪概述 分区裁剪(partition pruning)的实现步骤如下: 1。分析WHERE语句条件并构造区间图interval graph,用来描述分析的结果情况。 2。通过区间图,为每个区间找出被访问的分区集(包括子分区)。 3。构造查询所需要的分区集。
分区区间(Partitioning Intervals) 单点区间(Single-Point Intervals) 从最简单的情况开始,假设一个有N个列的分区表,通过分区类型p_type和分区函数p_func,表示如下: CREATE TABLE t (columns)
注意:此流程只工作在,如果WHERE条件的形式像上述那样,表的每个列必需被验证是否等与一些任意常数(不需要相同的常数为每列)。例如,如果上述例子的WHERE语句中没有col1=const1,那么我们不会计算p_func分区函数的值,也就不会约束实际被用的分区集。
区间游历(Walking) 假设一个分区表t被定义成columns列集,分区类型p_type,分区函数p_func使用integer类型字段int_col,如下: CREATE TABLE t (columns)
在源 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |