PRIMARY索引与mysql表中的常规INDEX相同吗?

时间:2013-04-30 22:04:11

标签: mysql phpmyadmin

我刚刚开始使用索引,我有一个user_id列,其中包含AUTO_INCREMENT,Unique和Primary。然而我听说“索引”会让搜索速度更快,所以我点击phpmyadmin上的“索引”按钮,而“索引”按钮不会像其他两个一样变黑: http://puu.sh/2KkSB.png

然后我按下屏幕底部的“索引”,这就出现了:

http://puu.sh/2KkU9.png

所以我想知道的是,PRIMARY已经“编入索引”吗?这会使搜索更快吗?是否与按下列上的“索引”按钮的操作相同?谢谢。

2 个答案:

答案 0 :(得分:2)

PRIMARY KEY是表中最快的索引,其值必须是唯一的。

索引也可以是UNIQUE,但默认情况下不是。

但是,索引不会让你的表格神奇地变得更快。如果它们被设计为由这些查询使用,它们可以提高某些查询的性能。

答案 1 :(得分:2)

索引可以包含多个列,单个表可以包含多个索引。 PRIMARY KEY也是一个索引,但受其他索引不受其他约束的影响:

  • 一个表只能有一个PRIMARY KEY
  • 每行的主键值必须是唯一的(即没有重复的值)且不能为空

要在PRIMARY KEY中添加列,请按其旁边的“键”图标。虽然这已经创建了一个索引(主键),但它与按下“索引”按钮不同,因为它有其他限制。