drop table if exists t1; CREATE TABLE t1 (a int auto_increment primary key, b char(20) ); '#--------------------FN_DYNVARS_084_01-------------------------#' SELECT @@global.max_seeks_for_key = 10; @@global.max_seeks_for_key = 10 0 SELECT @@session.max_seeks_for_key = 10; @@session.max_seeks_for_key = 10 0 SET @@global.max_seeks_for_key = 20; SELECT @@global.max_seeks_for_key; @@global.max_seeks_for_key 20 INSERT into t1(b) values("AREc"); explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 system NULL NULL NULL NULL 1 1 SIMPLE t2 system NULL NULL NULL NULL 1 SET @@session.max_seeks_for_key = 2; SELECT @@session.max_seeks_for_key; @@session.max_seeks_for_key 2 INSERT into t1(b) values("BREc"); INSERT into t1(b) values("CRec"); explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 3 1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where; Using join buffer '#--------------------FN_DYNVARS_084_02-------------------------#' SELECT @@global.max_seeks_for_key = 10; @@global.max_seeks_for_key = 10 0 SELECT @@session.max_seeks_for_key = 10; @@session.max_seeks_for_key = 10 0 SET @@global.max_seeks_for_key = 20; SELECT @@global.max_seeks_for_key; @@global.max_seeks_for_key 20 INSERT into t1(b) values("AREc"); explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 4 1 SIMPLE t2 ALL NULL NULL NULL NULL 4 Using where; Using join buffer SET @@session.max_seeks_for_key = 2; SELECT @@session.max_seeks_for_key; @@session.max_seeks_for_key 2 INSERT into t1(b) values("BREc"); INSERT into t1(b) values("CRec"); explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 6 1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer INSERT INTO t1 values(null,"test"); INSERT INTO t1 VALUES (null,"a"),(null,"a"),(null,"a"), (null,"a"),(null,"a"),(null,"a"),(null,"a"), (null,"a"),(null,"a"),(null,"a"); explain SELECT STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 17 1 SIMPLE t2 ALL NULL NULL NULL NULL 17 Using where; Using join buffer analyze table t1; Table Op Msg_type Msg_text test.t1 analyze status OK SET MAX_SEEKS_FOR_KEY=1; explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 17 1 SIMPLE t2 ALL NULL NULL NULL NULL 17 Using where; Using join buffer SET MAX_SEEKS_FOR_KEY=DEFAULT; drop table t1;