#
# Check that ANALYZE TABLE is remembered by MyISAM and Aria
#
create table t1 (a int) engine=myisam;
insert into t1 select seq from seq_0_to_99;
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
flush tables;
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
update t1 set a=100 where a=1;
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
update t1 set a=100 where a=2;
flush tables;
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
# Aria transactional=0
ALTER TABLE t1 ENGINE=aria transactional=0;
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
update t1 set a=100 where a=10;
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
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
flush tables;
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
update t1 set a=100 where a=11;
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
update t1 set a=100 where a=12;
flush tables;
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
# Aria transactional=1
ALTER TABLE t1 ENGINE=aria transactional=1;
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
update t1 set a=100 where a=20;
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
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
flush tables;
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
update t1 set a=100 where a=21;
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
update t1 set a=100 where a=22;
flush tables;
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
drop table t1;
#
# Test that histograms are read after flush
#
create table t1 (a int);
insert into t1 select seq from seq_1_to_10;
insert into t1 select A.seq from seq_10_to_20 A, seq_1_to_9 B;
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 format=json select * from t1 where a between 2and5;
EXPLAIN
{ "query_block": { "select_id": 1, "cost": 0.027083745, "nested_loop": [
{ "table": { "table_name": "t1", "access_type": "ALL", "loops": 1, "rows": 109, "cost": 0.027083745, "filtered": 3.669724703, "attached_condition": "t1.a between 2 and 5"
}
}
]
}
}
explain format=json select * from t1 where a between 12and15;
EXPLAIN
{ "query_block": { "select_id": 1, "cost": 0.027083745, "nested_loop": [
{ "table": { "table_name": "t1", "access_type": "ALL", "loops": 1, "rows": 109, "cost": 0.027083745, "filtered": 33.02752304, "attached_condition": "t1.a between 12 and 15"
}
}
]
}
}
flush tables; set @@optimizer_use_condition_selectivity=3;
explain format=json select * from t1 where a between 2and5;
EXPLAIN
{ "query_block": { "select_id": 1, "cost": 0.027083745, "nested_loop": [
{ "table": { "table_name": "t1", "access_type": "ALL", "loops": 1, "rows": 109, "cost": 0.027083745, "filtered": 15.78947353, "attached_condition": "t1.a between 2 and 5"
}
}
]
}
} set @@optimizer_use_condition_selectivity=4;
explain format=json select * from t1 where a between 2and5;
EXPLAIN
{ "query_block": { "select_id": 1, "cost": 0.027083745, "nested_loop": [
{ "table": { "table_name": "t1", "access_type": "ALL", "loops": 1, "rows": 109, "cost": 0.027083745, "filtered": 3.669724703, "attached_condition": "t1.a between 2 and 5"
}
}
]
}
}
drop table t1; set @@optimizer_use_condition_selectivity=default;
#
# End of 10.6 tests
#
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.