MySQL Bugs: #34354: Feature request: EXPLAIN ALTER TABLE https://bugs.mysql.com/bug.php?id=34354
[SQL]EXPLAIN ALTER TABLE `answer` MODIFY COLUMN `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '修改字符集为utf8mb4,兼容表情符' AFTER `qid`;
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER TABLE `answer` MODIFY COLUMN `content` text CHARACTER SET utf8mb4 COLLATE' at line 1
MySQL Bugs: #80793: EXTEND EXPLAIN to cover ALTER TABLE https://bugs.mysql.com/bug.php?id=80793
Bug #34354 Feature request: EXPLAIN ALTER TABLE
Submitted: 6 Feb 2008 17:04
MySQL Bugs: #80793: EXTEND EXPLAIN to cover ALTER TABLE https://bugs.mysql.com/bug.php?id=80793
Bug #80793 EXTEND EXPLAIN to cover ALTER TABLE
Submitted: 18 Mar 2016 16:03
MySQL Bugs: #34354: Feature request: EXPLAIN ALTER TABLE https://bugs.mysql.com/bug.php?id=34354
Description:
In MySQL 5.1, work was done to make some ALTER TABLE operations faster, with no need for a temporary table (such as changes that affect only metadata), as described here: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html However, a user cannot tell in advance whether a given operation will be fast or not, and thus must actually execute ALTER TABLE and hope that it will be fast. An EXPLAIN-style statement would be useful for ALTER TABLE. I envision that EXPLAIN ALTER TABLE would provide information to the user that would indicate the "cost" of a given alteration. How to repeat:
N/A
Thank you for a reasonable feature request.
A duplicate of this bug:
Bug #80793 EXTEND EXPLAIN to cover ALTER TABLE
Description:
ALTER TABLE now has many ways of working and that can be a bit confusing even for a seasoned MySQL DBA especially as things change all the time. How to repeat:
Run ALTER TABLE and see which behaviour happens depending on the statement you execute. There are various possible behaviours: 1. METADATA change, no change to data
2. INLINE change, no full rebuild and apps can use the table while the change is happening (e.g. new indexes being added)
3. TABLE REBUILD, traditional full rebuild of the table Suggested fix:
I'd like to see EXPLAIN EXTENDED to show what it would do with the ALTER TABLE statement. There are other subtle things that may trigger a full rebuild of the table including changes due to data type changes (e.g. the "old" and "new" timestamp or datetime formats), so having a way to see what MySQL would do without actually triggering the action would be really good.
Posted by developer: Reported version value updated to reflect release name change from 5.8 to 8.0
Hello Simon, Thank you for the feature request! Thanks,
Umesh
Duplicate of BUG #34354