📄 greedy_optimizer.test
字号:
## A simple test of the greedy query optimization algorithm and the switches that# control the optimizationprocess.### Schema#--disable_warningsdrop table if exists t1,t2,t3,t4,t5,t6,t7;--enable_warningscreate table t1 ( c11 integer,c12 integer,c13 integer,c14 integer,c15 integer,c16 integer, primary key (c11));create table t2 ( c21 integer,c22 integer,c23 integer,c24 integer,c25 integer,c26 integer);create table t3 ( c31 integer,c32 integer,c33 integer,c34 integer,c35 integer,c36 integer, primary key (c31));create table t4 ( c41 integer,c42 integer,c43 integer,c44 integer,c45 integer,c46 integer);create table t5 ( c51 integer,c52 integer,c53 integer,c54 integer,c55 integer,c56 integer, primary key (c51));create table t6 ( c61 integer,c62 integer,c63 integer,c64 integer,c65 integer,c66 integer);create table t7 ( c71 integer,c72 integer,c73 integer,c74 integer,c75 integer,c76 integer, primary key (c71));## Data# cardinality(Ti) = cardinality(T(i-1)) + 3#insert into t1 values (1,2,3,4,5,6);insert into t1 values (2,2,3,4,5,6);insert into t1 values (3,2,3,4,5,6);insert into t2 values (1,2,3,4,5,6);insert into t2 values (2,2,3,4,5,6);insert into t2 values (3,2,3,4,5,6);insert into t2 values (4,2,3,4,5,6);insert into t2 values (5,2,3,4,5,6);insert into t2 values (6,2,3,4,5,6);insert into t3 values (1,2,3,4,5,6);insert into t3 values (2,2,3,4,5,6);insert into t3 values (3,2,3,4,5,6);insert into t3 values (4,2,3,4,5,6);insert into t3 values (5,2,3,4,5,6);insert into t3 values (6,2,3,4,5,6);insert into t3 values (7,2,3,4,5,6);insert into t3 values (8,2,3,4,5,6);insert into t3 values (9,2,3,4,5,6);insert into t4 values (1,2,3,4,5,6);insert into t4 values (2,2,3,4,5,6);insert into t4 values (3,2,3,4,5,6);insert into t4 values (4,2,3,4,5,6);insert into t4 values (5,2,3,4,5,6);insert into t4 values (6,2,3,4,5,6);insert into t4 values (7,2,3,4,5,6);insert into t4 values (8,2,3,4,5,6);insert into t4 values (9,2,3,4,5,6);insert into t4 values (10,2,3,4,5,6);insert into t4 values (11,2,3,4,5,6);insert into t4 values (12,2,3,4,5,6);insert into t5 values (1,2,3,4,5,6);insert into t5 values (2,2,3,4,5,6);insert into t5 values (3,2,3,4,5,6);insert into t5 values (4,2,3,4,5,6);insert into t5 values (5,2,3,4,5,6);insert into t5 values (6,2,3,4,5,6);insert into t5 values (7,2,3,4,5,6);insert into t5 values (8,2,3,4,5,6);insert into t5 values (9,2,3,4,5,6);insert into t5 values (10,2,3,4,5,6);insert into t5 values (11,2,3,4,5,6);insert into t5 values (12,2,3,4,5,6);insert into t5 values (13,2,3,4,5,6);insert into t5 values (14,2,3,4,5,6);insert into t5 values (15,2,3,4,5,6);insert into t6 values (1,2,3,4,5,6);insert into t6 values (2,2,3,4,5,6);insert into t6 values (3,2,3,4,5,6);insert into t6 values (4,2,3,4,5,6);insert into t6 values (5,2,3,4,5,6);insert into t6 values (6,2,3,4,5,6);insert into t6 values (7,2,3,4,5,6);insert into t6 values (8,2,3,4,5,6);insert into t6 values (9,2,3,4,5,6);insert into t6 values (10,2,3,4,5,6);insert into t6 values (11,2,3,4,5,6);insert into t6 values (12,2,3,4,5,6);insert into t6 values (13,2,3,4,5,6);insert into t6 values (14,2,3,4,5,6);insert into t6 values (15,2,3,4,5,6);insert into t6 values (16,2,3,4,5,6);insert into t6 values (17,2,3,4,5,6);insert into t6 values (18,2,3,4,5,6);insert into t7 values (1,2,3,4,5,6);insert into t7 values (2,2,3,4,5,6);insert into t7 values (3,2,3,4,5,6);insert into t7 values (4,2,3,4,5,6);insert into t7 values (5,2,3,4,5,6);insert into t7 values (6,2,3,4,5,6);insert into t7 values (7,2,3,4,5,6);insert into t7 values (8,2,3,4,5,6);insert into t7 values (9,2,3,4,5,6);insert into t7 values (10,2,3,4,5,6);insert into t7 values (11,2,3,4,5,6);insert into t7 values (12,2,3,4,5,6);insert into t7 values (13,2,3,4,5,6);insert into t7 values (14,2,3,4,5,6);insert into t7 values (15,2,3,4,5,6);insert into t7 values (16,2,3,4,5,6);insert into t7 values (17,2,3,4,5,6);insert into t7 values (18,2,3,4,5,6);insert into t7 values (19,2,3,4,5,6);insert into t7 values (20,2,3,4,5,6);insert into t7 values (21,2,3,4,5,6);## The actual test begins here## Check the default values for the optimizer paramtersselect @@optimizer_search_depth;select @@optimizer_prune_level;# This value swithes back to the old implementation of 'find_best()'# set optimizer_search_depth=63; - old (independent of the optimizer_prune_level)## These are the values for the parameters that control the greedy optimizer# (total 6 combinations - 3 for optimizer_search_depth, 2 for optimizer_prune_level):# 3:# set optimizer_search_depth=0; - automatic# set optimizer_search_depth=1; - min# set optimizer_search_depth=62; - max (default)# 2:# set optimizer_prune_level=0 - exhaustive;# set optimizer_prune_level=1 - heuristic; # default#
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -