【发布时间】:2017-12-10 03:27:29
【问题描述】:
以下是 MySQL 文档中的文本:
表的主键表示列或列集 您在最重要的查询中使用的。它有一个相关的索引, 快速查询性能。 NOT 可提高查询性能 NULL 优化,因为它不能包含任何 NULL 值。
我不理解上述文本中粗体字的句子的确切含义。有人请给我解释一下。
另外,请告诉我是否可以在 MySQL 5.7 中为包含 NULL 值的列创建索引?如果不是,是什么原因?
谢谢。
【问题讨论】:
-
a PRIMARY 键不能有 NULL 值,但可以在具有 NULL 值的列上创建其他索引。
-
@Used_By_Already :如果主键包含多个列怎么办?如果主键包含多于一列,它是否称为复合键?
-
正确,复合键包含多个列,但复合(主)键的任何部分都不能为空。只有非主索引允许列有 NULLs
-
在复合键的情况下,所涉及的列是否必须具有唯一且非空值?
-
复合主索引必须形成唯一的值组合,不允许为空
标签: mysql indexing null primary-key mysql-5.7