mirror of
https://github.com/MariaDB/server.git
synced 2025-04-21 14:45:34 +02:00

- calculate_cond_selectivity_for_table() should handle the case where index statistics is not available (zeros are returned in rec_per_key)
33 lines
769 B
Text
33 lines
769 B
Text
--disable_warnings
|
|
drop table if exists t1;
|
|
--enable_warnings
|
|
|
|
SET @tmp_ust= @@use_stat_tables;
|
|
SET @tmp_oucs= @@optimizer_use_condition_selectivity;
|
|
|
|
SET use_stat_tables = PREFERABLY;
|
|
SET optimizer_use_condition_selectivity = 2;
|
|
|
|
CREATE TABLE t1 (
|
|
code CHAR(2),
|
|
name VARCHAR(32),
|
|
population INT,
|
|
house_seats TINYINT,
|
|
PRIMARY KEY(code),
|
|
KEY (house_seats)
|
|
) ENGINE=TokuDB;
|
|
|
|
INSERT INTO t1 VALUES ('AL','Alabama',4833722,7),('AK','Alaska',735132,1);
|
|
ANALYZE TABLE t1;
|
|
ALTER TABLE t1 ADD KEY (name(4),house_seats);
|
|
|
|
SELECT * FROM t1 WHERE
|
|
population BETWEEN 1000000 AND 2000000
|
|
AND name LIKE 'New %'
|
|
AND house_seats IN (1, 2, 3)
|
|
AND code IN ('NJ', 'NM');
|
|
|
|
drop table t1;
|
|
SET use_stat_tables = @tmp_ust;
|
|
SET optimizer_use_condition_selectivity = @tmp_oucs;
|
|
|