什么时候应该使用KEY
、PRIMARY KEY
、UNIQUE KEY
和INDEX
?
最佳答案
KEY
和 INDEX
在 MySQL 中是同义词。他们的意思是一样的。在数据库中,您将使用 indexes以提高数据检索的速度。通常在 JOIN
、WHERE
和 ORDER BY
子句中使用的列上创建索引。
假设您有一个名为 users
的表,您想要搜索所有姓氏为“Smith”的用户。如果没有索引,数据库将不得不遍历表的所有记录:这很慢,因为数据库中的记录越多,查找结果所需的工作就越多。另一方面,索引将帮助数据库快速跳转到保存“Smith”记录的相关页面。这与我们人类通过电话簿目录查找姓氏的方式非常相似:我们不会从头到尾搜索目录,只要我们按照某种顺序插入信息即可用于快速跳到“S”页。
主键和唯一键是相似的。主键是可以唯一标识一行的列或列的组合。它是 unique key 的特例.一张表最多可以有一个主键,但可以有多个唯一键。当您在列上指定唯一键时,表中任何两个不同的行都不能具有相同的值。
另请注意,定义为主键或唯一键的列会在 MySQL 中自动建立索引。
关于mysql - MySQL中键、主键、唯一键和索引的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28219373/