Bug #104933 | Execute analyze table during online DDL, which may cause index failure | ||
---|---|---|---|
Submitted: | 14 Sep 2021 2:52 | Modified: | 15 Sep 2021 12:15 |
Reporter: | d f | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 8.0.25 | OS: | Linux |
Assigned to: | CPU Architecture: | Any |
[14 Sep 2021 2:52]
d f
[14 Sep 2021 12:32]
MySQL Verification Team
Hi Mr. f, Thank you for your bug report. However, it seems that there is a slight mistake in your report. After you run ANALYSE, can you please run only the following two commands: SET optimizer_trace="enabled=on"; explain select * from test_analzye where id1 = 10 ; and send us the output. Thanks in advance.
[14 Sep 2021 13:20]
d f
Hi: This is the report you need. analyze table test_analzye; +-------------------+---------+----------+----------+ | Table | Op | Msg_type | Msg_text | +-------------------+---------+----------+----------+ | test.test_analzye | analyze | status | OK | +-------------------+---------+----------+----------+ 1 row in set (0.01 sec) mysql> SET optimizer_trace="enabled=on"; Query OK, 0 rows affected (0.00 sec) mysql> explain select * from test_analzye where id1 = 10 ; +----+-------------+--------------+------------+------+---------------+------+---------+------+------+----------+-------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+--------------+------------+------+---------------+------+---------+------+------+----------+-------------+ | 1 | SIMPLE | test_analzye | NULL | ALL | PRIMARY | NULL | NULL | NULL | 1 | 100.00 | Using where | +----+-------------+--------------+------------+------+---------------+------+---------+------+------+----------+-------------+ 1 row in set, 1 warning (0.00 sec)
[14 Sep 2021 13:26]
d f
Some information in the information_schema.optimizer_trace has changed before analyze: "rows_estimation": [ { "table": "`test_analzye`", "range_analysis": { "table_scan": { "rows": 9747565, "cost": 980965 }, "potential_range_indexes": [ { "index": "PRIMARY", "usable": true, "key_parts": [ "id1", "id2" ] } ], after analyze: "rows_estimation": [ { "table": "`test_analzye`", "range_analysis": { "table_scan": { "rows": 1, "cost": 2.45 }, "potential_range_indexes": [ { "index": "PRIMARY", "usable": true, "key_parts": [ "id1", "id2" ] } ], I think analzye caused some information to be lost when altering the table.
[14 Sep 2021 15:42]
Øystein Grøvlen
Is this a duplicate of Bug#98132 ?
[14 Sep 2021 15:52]
d f
yes ,thanks
[15 Sep 2021 12:15]
MySQL Verification Team
Thank you Mr. f and Oystein. This bug is indeed a duplicate of the bug : https://bugs.mysql.com/bug.php?id=98132 Since we have a number of bugs in this category, we are increasing the severity of the original bug.