前言
MySQL 8.0.30,这个版本没有 MGR 方面的重大修改,为什么我说值得上车 MGR 呢?
GIPK
只因为 8.0.30 新增了 sql_generate_invisible_primary_key
参数,以下我简称为 GIPK 模式!
GIPK 模式下,创建表时如果没有显式定义主键会自动添加一个不可见主键索引,请参考以下两张表:
## sql_generate_invisible_primary_key=off 建的表 mysql> SHOW CREATE TABLE auto_0\G *************************** 1. row *************************** Table: auto_0 Create Table: CREATE TABLE `auto_0` ( `c1` varchar(50) DEFAULT NULL, `c2` int DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 1 row in set (0.00 sec) ## sql_generate_invisible_primary_key=on 建的表 mysql> SHOW CREATE TABLE auto_1\G *************************** 1. row *************************** Table: auto_1 Create Table: CREATE TABLE `auto_1` ( `my_row_id` bigint unsigned NOT NULL AUTO_INCREMENT /*!80023 INVISIBLE */, `c1` varchar(50) DEFAULT NULL, `c2` int DEFAULT NULL, PRIMARY KEY (`my_row_id`) ) ENGINE=InnoDB DEFAULT CHARSET=u