mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge branch '10.4' into 10.5
This commit is contained in:
@@ -1882,4 +1882,62 @@ a b
|
||||
set optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity;
|
||||
drop table t1;
|
||||
# End of 10.1 tests
|
||||
#
|
||||
# MDEV-22583: Selectivity for BIT columns in filtered column for EXPLAIN is incorrect
|
||||
#
|
||||
SET optimizer_use_condition_selectivity=4;
|
||||
SET histogram_size=255;
|
||||
CREATE TABLE t1 (a BIT(32), b INT);
|
||||
INSERT INTO t1 VALUES (80, 80), (81, 81), (82, 82);
|
||||
ANALYZE TABLE t1 PERSISTENT FOR ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
test.t1 analyze status OK
|
||||
EXPLAIN EXTENDED SELECT * from t1 where t1.a >= 81;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 66.41 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where `test`.`t1`.`a` >= 81
|
||||
SELECT HEX(a), b from t1 where t1.a >= 81;
|
||||
HEX(a) b
|
||||
51 81
|
||||
52 82
|
||||
set optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity;
|
||||
set histogram_size=@save_histogram_size;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-19474: Histogram statistics are used even with optimizer_use_condition_selectivity=3
|
||||
#
|
||||
CREATE TABLE t1(a int);
|
||||
INSERT INTO t1 values (1),(2),(2),(3),(4);
|
||||
SET optimizer_use_condition_selectivity=4;
|
||||
SET histogram_size= 255;
|
||||
set use_stat_tables='preferably';
|
||||
ANALYZE TABLE t1 PERSISTENT FOR ALL;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status Engine-independent statistics collected
|
||||
test.t1 analyze status OK
|
||||
EXPLAIN EXTENDED SELECT * FROM t1 WHERE a=2;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 39.84 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` = 2
|
||||
SET optimizer_use_condition_selectivity=3;
|
||||
# filtered should show 25 %
|
||||
EXPLAIN EXTENDED SELECT * FROM t1 WHERE a=2;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 25.00 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` = 2
|
||||
FLUSH TABLES;
|
||||
EXPLAIN EXTENDED SELECT * FROM t1 WHERE a=2;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 25.00 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` = 2
|
||||
set optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity;
|
||||
set histogram_size=@save_histogram_size;
|
||||
set use_stat_tables= @save_use_stat_tables;
|
||||
DROP TABLE t1;
|
||||
# End of 10.2 tests
|
||||
set @@global.histogram_size=@save_histogram_size;
|
||||
|
Reference in New Issue
Block a user