什么是VS MySQL中使用KEY INDEX之间的差异(What are differences

2019-07-17 13:13发布

我知道如何使用INDEX如下面的代码。 我知道如何使用外键和主键。

CREATE TABLE tasks ( 
task_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
parent_id INT UNSIGNED NOT NULL DEFAULT 0, 
task VARCHAR(100) NOT NULL, 
date_added TIMESTAMP NOT NULL, 
date_completed TIMESTAMP, 
PRIMARY KEY (task_id), 
INDEX parent (parent_id), 
....

然而我发现使用密钥而不是INDEX如下代码。

...
KEY order_date (order_date) 
...

我无法找到在MySQL的官方页面上的任何文件。

谁能告诉我的差别是关键和INDEX之间是什么? 我可以看到不同的是,当我使用KEY ......,我需要重复这个词,如关键order_date的(order_date的)。

Answer 1:

有没有什么区别。 他们是同义词。

从在CREATE TABLE手动输入 :

KEY通常是一个同义词INDEX 。 关键属性PRIMARY KEY也可以被指定为刚KEY列定义中给定的时候。 这是与其他数据库系统的兼容性实现。



Answer 2:

以下是有关的“差”一个很好的说明:
http://discuss.fogcreek.com/joelonsoftware5/default.asp?cmd=show&ixPost=152398

“MySQL的要求每一个键也被编入索引,这是具体到MySQL,以提高性能的实现细节。”



Answer 3:

它提到的代名词INDEX在“创建表”的文档: MySQL的5.5参考手册:: 13 SQL语句语法:: 13.1数据定义语句:: 13.1.17 CREATE TABLE语法

号已经列举了部分和链接帮助5.1。

PRIMARY KEY创建一个主键,你的一个指标, KEY创建唯一索引。



Answer 4:

键是一个表中扮演非常特殊的角色特殊领域和关键的类型决定了表内的目的。

索引是RDBMS(数据库管理系统)提供了改进的数据处理的结构。 索引无关与逻辑数据库结构。

所以...

键是使用到表内识别记录和索引的使用,优化数据处理物理结构逻辑结构。

来源:凡人数据库设计

作者:迈克尔·埃尔南德斯



Answer 5:

关键是一组上,我们建立索引的列或表达式。

  1. 而索引是存储在数据库中的结构中,键严格的逻辑概念。

  2. 指数帮助我们在快速访问记录,而只是键唯一标识的记录。

  3. 每个表格都必然有一个关键,但有一个指标是不是强制性的。

检查https://docs.oracle.com/cd/E11882_01/server.112/e40540/indexiot.htm#CNCPT721



文章来源: What are differences between using INDEX v.s. KEY in MySQL