MySQL Internals Optimizer
代码里,这种转化被称作区间游历(Walking)。游历短的区间成本是不贵的,这样我们能缩小分区数来扫描小的分区。然尔,游历长的区间不是那么非常有效的,需要检查大量的分区,这样的话,可能所有分区都会被扫描的。
如下参数决定区间游历(Walking)的值: #define MAX_RANGE_TO_WALK=10
注意:如下条件关系也会利用上述区间游历(Walking)的逻辑: const1 >= int_col >= const2
区间映射(mapping) 假设如下的分区表定义: CREATE TABLE t (columns)
自分区函数是升序,看如下的关系: const1 <= t.col <= const2 => p_func(const1) <= p_func(t.column) <= p_func(const2)
如范围分区(RANGE partitioning),每个分区占据一个区间于分区函数值的轴线上,每个区间是不相连的,如下: p0 p1 p2 search interval ----x==============x----------->
如列举分区(LIST partitioning),每个分区包括点集于分区函数值的轴线上,各分区会产生不同的交叉点,如下: &n |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |