技术译文 | MySQL 添加主键可以节省磁盘空间吗?
作者:Przemysław Malkowski
本文和封面来源:https://www.percona.com/,爱可生开源社区翻译。
本文约 1400 字,预计阅读需要 4 分钟。
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>