MySQL 之到底该查哪个分区?
摘要
MySQL使用分区剪枝来确定哪些分区符合查询条件,根据不同的分区类型进行判断。使用
SEL_TREE
描述区间范围进行剪枝,每个SEL_ARG
包含一个或多个分区键。SEL_TREE
可以分为三种情况,其中第三种情况是多个index merge tree
,可以描述成merge_tree1 AND merge_tree2 ... AND merge_treeN
,每个merge tree类似于第二种情况。在find_used_partitions
中,根据分区类型和剪枝条件是否为一个等值查询进行剪枝,剪枝的结果取并集。如果无法只创建一个SEL_ARG
,则会创建一个index_merge tree
。
欢迎在评论区写下你对这篇文章的看法。