mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-7317: Make an index ignorable to the optimizer
This feature adds the functionality of ignorability for indexes. Indexes are not ignored be default. To control index ignorability explicitly for a new index, use IGNORE or NOT IGNORE as part of the index definition for CREATE TABLE, CREATE INDEX, or ALTER TABLE. Primary keys (explicit or implicit) cannot be made ignorable. The table INFORMATION_SCHEMA.STATISTICS get a new column named IGNORED that would store whether an index needs to be ignored or not.
This commit is contained in:
@@ -207,9 +207,9 @@ INSERT INTO mysql.innodb_index_stats SELECT * FROM t1_c2_stats;
|
||||
DROP TABLE t1_c2_stats;
|
||||
CREATE INDEX c2d ON t1(c2);
|
||||
SHOW INDEX FROM t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
t1 0 PRIMARY 1 c1 A 80 NULL NULL BTREE
|
||||
t1 1 c2d 1 c2 A 10 NULL NULL YES BTREE
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
t1 0 PRIMARY 1 c1 A 80 NULL NULL BTREE NO
|
||||
t1 1 c2d 1 c2 A 10 NULL NULL YES BTREE NO
|
||||
EXPLAIN SELECT COUNT(*) FROM t1 WHERE c2 > 3;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range c2d c2d 5 NULL 32 Using where; Using index
|
||||
|
Reference in New Issue
Block a user