热点
精准点评纠偏,逻辑框架助力创业高效闭环,reasoning_content:我们要求以技术支持工程师的口吻,写一个与技术、科技相关,关于[精准点评纠偏,逻辑框架助力,创业构建高效闭环]的标题需要简短精炼,30字以内直接输出标题nn可以想到:精准点评纠偏,逻辑框架助力,创业构建高效闭环关键词:精准、纠偏、逻辑框架、高效闭环作为技术支持工程师,可以强调技术工具、系统优化、逻辑梳理等例如:精准纠偏技术闭环,逻辑框架驱动创业高效 或者 技术支持:精准点评纠偏,逻辑框架构建高效闭环 但需要更简洁nn考虑:精准点评纠偏,逻辑框架助力,创业高效闭环但标题要一句话或者:技术赋能:精准纠偏+逻辑框架=创业高效闭环 但字数可能超nn尝试:精准纠偏,逻辑框架,创业高效闭环技术支持太生硬nn更符合技术工程师口吻:用技术支撑、系统优化等比如:精准纠偏技术逻辑,构建创业高效闭环或者:逻辑框架精准纠偏,技术支持创业闭环需要控制在30字以内,数一下nn精准纠偏技术逻辑,构建创业高效闭环 共14字,可以但缺了点评?原要求有精准点评纠偏,所以最好包含点评?但点评在技术语境中可能指代码审查或系统反馈可以改为:精准点评纠偏,逻辑框架构建创业高效闭环 共16字,但缺少助力动词也可以:精准点评纠偏,逻辑框架助力创业高效闭环 共18字或者更紧凑:精准纠偏+逻辑框架=创业高效闭环(技术支撑) 但括号可能不好nn直接输出:精准点评纠偏,逻辑框架助力创业高效闭环 19字,符合要求但作为标题,可以更科技感一点比如:技术精准纠偏,逻辑框架构建创业闭环 14字或者:精准纠偏技术赋能,逻辑框架闭环创业 14字nn考虑到技术支持工程师的口吻,可以加技术二字最终决定:精准纠偏技术逻辑,构建创业高效闭环 14字,简洁有力或者精准点评纠偏技术,逻辑框架助力闭环 14字nn我选择:精准点评纠偏,逻辑框架助力创业高效闭环 这是最直接的,也包含了所有关键词但19字,在30字以内,没问题
5 9 月 2026, 周六

这篇文章主要讲解了“怎么测试MySQL8.0.16秒加字段功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么测试MySQL8.0.16秒加字段功能”吧!
 
Instant add column功能自MySQL 8.0.12版本引入,INSTANT操作仅修改数据字典中的元数据。在准备和执行期间,
 
不会在表上采用独占元数据锁,并且表数据不受影响,从而使操作立即生效。允许并发DML。
 
InnoDB仅支持INSTANT进行如下操作:
 
Change index option                                             更改索引选项
 
Rename table (in ALTER way)                                     重命名表(以ALTER方式)
 
SET/DROP DEFAULT                                                设置/删除缺省值
 
Add columns(non-generated) – We call this instant ADD COLUMN    添加列(非生成) – 我们称之为立即加列
 
MODIFY COLUMN                                                   修改列
 
Add/drop virtual columns                                        添加/删除虚拟列
 
添加新列作为表中的最后一列。
 
添加生成的虚拟列。
 
删除生成的虚拟列。
 
设置现有列的默认值。
 
删除现有列的默认值。
 
更改具有ENUM或SET数据类型的列所允许的值列表。要求是列的存储大小不会更改。
 
instant功能存在的限制:
 
仅支持在一个语句中添加列,即如果同一语句中存在其他非INSTANT操作,则无法立即执行
 
innodb行格式不能是COMPRESSED。
 
该表上不能有全文索引。
 
即时添加的列不能是PK。
 
只能顺序加列,仅支持在最后添加列,而不支持在现有列的中间添加列
 
不支持压缩表
 
不支持包含任何全文索引的表
 
不支持临时表,临时表只能使用copy的方式执行DDL
 
不支持那些在数据词典表空间中创建的表
 
数据字典中的表不能使用instant算法
 
实验如下:
 
mysql> CREATE TABLE `test` (
 
    ->  `ID` int(11) NOT NULL AUTO_INCREMENT,
 
    ->  `NAME` varchar(50) NOT NULL,
 
    ->  PRIMARY KEY (`ID`)
 
    ->  ) AUTO_INCREMENT=1000;
 
Query OK, 0 rows affected (0.19 sec)
 
mysql>delimiter $$
 
mysql> create procedure pro_test()
 
    ->      begin
 
    ->      declare id int;
 
    ->      set id = 100000;
 
    ->      while id>0 do
 
    ->      insert into test(name) values ('love');  
 
    ->      set id = id-1;                                                                                                                                              
 
    ->      end while;
 
    ->      end $$
 
Query OK, 0 rows affected (0.04 sec)
 
mysql>delimiter ;
 
mysql>call pro_test();
 
mysql>call pro_test();
 
mysql>call pro_test();
 
mysql>call pro_test();
 
mysql>call pro_test();
 
mysql>call pro_test();
 
mysql>call pro_test();
 
多执行几次,生成更多的数据量。
 
mysql>select count(*) from test;
 
+———-+
 
| count(*) |
 
+———-+
 
| 20547289 |
 
+———-+
 
1 row in set (1 min 6.85 sec)
 
秒加字段测试:
 
mysql>alter table test add addr varchar(10),ALGORITHM=INSTANT;
 
Query OK, 0 rows affected (4.06 sec)
 
Records: 0  Duplicates: 0  Warnings: 0
 
mysql>ALTER TABLE test ADD COLUMN c ENUM('a', 'b', 'c'), ALGORITHM = INSTANT;
 
Query OK, 0 rows affected (0.12 sec)
 
Records: 0  Duplicates: 0  Warnings: 0
 
第一次用了4.06秒,第二次用了0.12秒
 
重命名:
 
mysql>ALTER TABLE test RENAME TO t2, ALGORITHM = INSTANT;
 
Query OK, 0 rows affected (0.19 sec)
 
mysql>ALTER TABLE t2 RENAME TO test, ALGORITHM = INSTANT;
 
Query OK, 0 rows affected (0.10 sec)
 
设置列缺省值:
 
mysql>ALTER TABLE test ALTER COLUMN name SET DEFAULT 100, ALGORITHM = INSTANT;
 
Query OK, 0 rows affected (0.09 sec)
 
Records: 0  Duplicates: 0  Warnings: 0
 
删除列缺省值:
 
mysql>ALTER TABLE test alter COLUMN name DROP DEFAULT, ALGORITHM = INSTANT;
 
Query OK, 0 rows affected (0.13 sec)
 
Records: 0  Duplicates: 0  Warnings: 0
 
修改列:
 
mysql>ALTER TABLE test MODIFY COLUMN c ENUM('a', 'b', 'c', 'd', 'e'), ALGORITHM=INSTANT;
 
Query OK, 0 rows affected (0.09 sec)
 
Records: 0  Duplicates: 0  Warnings: 0
 
更改索引,适用于表上已有索引:
 
mysql>>show index from test \G
 
*************************** 1. row ***************************
 
        Table: test
 
   Non_unique: 0
 
     Key_name: PRIMARY
 
 Seq_in_index: 1
 
  Column_name: ID
 
    Collation: A
 
  Cardinality: 19998192
 
     Sub_part: NULL
 
       Packed: NULL
 
         Null:
 
   Index_type: BTREE
 
      Comment:
 
Index_comment:
 
      Visible: YES
 
   Expression: NULL
 
*************************** 2. row ***************************
 
        Table: test
 
   Non_unique: 1
 
     Key_name: name
 
 Seq_in_index: 1
 
  Column_name: NAME
 
    Collation: A
 
  Cardinality: 1
 
     Sub_part: NULL
 
       Packed: NULL
 
         Null:
 
   Index_type: BTREE
 
      Comment:
 
Index_comment:
 
      Visible: YES
 
   Expression: NULL
 
2 rows in set (0.04 sec)
 
mysql>ALTER TABLE test DROP index name, ADD index name(name),ALGORITHM = INSTANT;
 
Query OK, 0 rows affected (0.13 sec)
 
Records: 0  Duplicates: 0  Warnings: 0
 
但在其他无索引的列上加新索引是不支持的:
 
mysql>alter table test  ADD index addr(addr),ALGORITHM = INSTANT;
 
ERROR 1845 (0A000): ALGORITHM=INSTANT is not supported for this operation.
 
Try ALGORITHM=COPY/INPLACE.
 
增加虚拟列:
 
ALTER TABLE test ADD COLUMN (d INT GENERATED ALWAYS AS (1 + 1) VIRTUAL), ALGORITHM = INSTANT;
 
Query OK, 0 rows affected (2.83 sec)
 
Records: 0  Duplicates: 0  Warnings: 0
 
ysql>desc test;
 
+——-+—————————+——+—–+———+——————-+
 
| Field | Type                      | Null | Key | Default | Extra             |
 
+——-+—————————+——+—–+———+——————-+
 
| ID    | int(11)                   | NO   | PRI | NULL    | auto_increment    |
 
| NAME  | varchar(50)               | NO   |     | NULL    |                   |
 
| addr  | varchar(10)               | YES  |     | NULL    |                   |
 
| ip    | int(11)                   | YES  |     | NULL    |                   |
 
| c     | enum('a','b','c','d','e') | YES  |     | NULL    |                   |
 
| d     | int(11)                   | YES  |     | NULL    | VIRTUAL GENERATED |
 
+——-+—————————+——+—–+———+——————-+
 
删除虚拟列:
 
mysql>ALTER TABLE test DROP COLUMN d, ALGORITHM = INSTANT;
 
Query OK, 0 rows affected (0.48 sec)
 
Records: 0  Duplicates: 0  Warnings: 0
 
mysql>desc test;
 
+——-+—————————+——+—–+———+—————-+
 
| Field | Type                      | Null | Key | Default | Extra          |
 
+——-+—————————+——+—–+———+—————-+
 
| ID    | int(11)                   | NO   | PRI | NULL    | auto_increment |
 
| NAME  | varchar(50)               | NO   | MUL | NULL    |                |
 
| addr  | varchar(10)               | YES  |     | NULL    |                |
 
| ip    | int(11)                   | YES  |     | NULL    |                |
 
| c     | enum('a','b','c','d','e') | YES  |     | NULL    |                |
 
+——-+—————————+——+—–+———+—————-+
 
5 rows in set (0.04 sec)
 
但删除普通列不支持:
 
mysql>ALTER TABLE test DROP c, ALGORITHM = INSTANT;
 
ERROR 1845 (0A000): ALGORITHM=INSTANT is not supported for this operation.
 
 Try ALGORITHM=COPY/INPLACE.
 
另外,用户还可以通过来自information_schema的视图观察即时ADD COLUMN的结果:
 
mysql>SELECT table_id, name, instant_cols FROM information_schema.innodb_tables WHERE name LIKE 'test%';
 
+———-+—————-+————–+
 
| table_id | name           | instant_cols |
 
+———-+—————-+————–+
 
|     1060 | test/child     |            0 |
 
|     1064 | test/t1        |            0 |
 
|     1065 | test/tbl       |            0 |
 
|     1068 | test/employees |            0 |
 
|     1072 | test/test_null |            0 |
 
|     1073 | test/test      |            2 |
 
+———-+—————-+————–+
 
6 rows in set (0.00 sec)
 
感谢各位的阅读,以上就是“怎么测试MySQL8.0.16秒加字段功能”的内容了,经过本文的学习后,相信大家对怎么测试MySQL8.0.16秒加字段功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。

dawei

【声明】:邵阳站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了

精准点评纠偏,逻辑框架助力创业高效闭环,reasoning_content:我们要求以技术支持工程师的口吻,写一个与技术、科技相关,关于[精准点评纠偏,逻辑框架助力,创业构建高效闭环]的标题需要简短精炼,30字以内直接输出标题nn可以想到:精准点评纠偏,逻辑框架助力,创业构建高效闭环关键词:精准、纠偏、逻辑框架、高效闭环作为技术支持工程师,可以强调技术工具、系统优化、逻辑梳理等例如:精准纠偏技术闭环,逻辑框架驱动创业高效 或者 技术支持:精准点评纠偏,逻辑框架构建高效闭环 但需要更简洁nn考虑:精准点评纠偏,逻辑框架助力,创业高效闭环但标题要一句话或者:技术赋能:精准纠偏+逻辑框架=创业高效闭环 但字数可能超nn尝试:精准纠偏,逻辑框架,创业高效闭环技术支持太生硬nn更符合技术工程师口吻:用技术支撑、系统优化等比如:精准纠偏技术逻辑,构建创业高效闭环或者:逻辑框架精准纠偏,技术支持创业闭环需要控制在30字以内,数一下nn精准纠偏技术逻辑,构建创业高效闭环 共14字,可以但缺了点评?原要求有精准点评纠偏,所以最好包含点评?但点评在技术语境中可能指代码审查或系统反馈可以改为:精准点评纠偏,逻辑框架构建创业高效闭环 共16字,但缺少助力动词也可以:精准点评纠偏,逻辑框架助力创业高效闭环 共18字或者更紧凑:精准纠偏+逻辑框架=创业高效闭环(技术支撑) 但括号可能不好nn直接输出:精准点评纠偏,逻辑框架助力创业高效闭环 19字,符合要求但作为标题,可以更科技感一点比如:技术精准纠偏,逻辑框架构建创业闭环 14字或者:精准纠偏技术赋能,逻辑框架闭环创业 14字nn考虑到技术支持工程师的口吻,可以加技术二字最终决定:精准纠偏技术逻辑,构建创业高效闭环 14字,简洁有力或者精准点评纠偏技术,逻辑框架助力闭环 14字nn我选择:精准点评纠偏,逻辑框架助力创业高效闭环 这是最直接的,也包含了所有关键词但19字,在30字以内,没问题