MySQL 添加主键可以节省磁盘空间?
MySQL 表定义主键不是必须的,并且直到今天(MySQL 版本 8.3.0)都是这样。不过,MGR 和 PXC 架构中不允许使用没有主键的表。如果数据表没有主键,会有许多众所周知的负面性能影响,其中最痛苦的是复制速度很糟糕。
今天,快速说明一下 需要使用主键的另一个原因:磁盘空间!
创建一个非常简单的示例表,
mysql > show create table test1\G<br>*************************** 1. row ***************************<br> Table: test1<br>Create Table: CREATE TABLE `test1` (<br> `a` int NOT NULL,<br> `b` bigint DEFAULT NULL,<br> KEY `a` (`a`),<br> KEY `b` (`b`)<br>) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci<br>1 row in set (0.00 sec)<br>