MYSQL如何添加索引

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL如何添加索引相关的知识,希望对你有一定的参考价值。

1.添加PRIMARY KEY(主键索引) mysqlALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索引) mysqlALTER TABLE `table_name` ADD UNIQUE ( `column` ) 3.添加INDEX(普通索引) mysqlALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 4.添加FULLTEXT(全文索引) mysqlALTER TABLE `table_name` ADD FULLTEXT ( `column`) 5.添加多列索引 mysqlALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` ) 参考技术A

  Mysql添加索引的方式有以下几种

  1.  在创建表的时候添加

  CREATE TABLE customer(

     id INT NOT NULL AUTO_INCREMENT,
     name VARCHAR(20),
     PRIMARY KEY(id)  UNIQUE KEY `UK_student_name` (`name`) 
)ENGINE=INNODB DEFAULT CHARSET=utf8

  2.  单独对表中的列创建索引

创建唯一索引:
create unique index UK_student_name on student (name);

  3.  对表中的列添加约束

  

alter table student add constraint uk_student_name unique (name);

为啥 InnoDB 为外键列添加索引

【中文标题】为啥 InnoDB 为外键列添加索引【英文标题】:Why InnoDB adds index for foreign key column为什么 InnoDB 为外键列添加索引 【发布时间】:2016-01-13 10:49:57 【问题描述】:

在使用 innoDB 引擎的 MySQL 中将外键添加到列时 MySQL 自动添加索引。主键足够搜索行,为外键列添加索引如何影响性能。

提前致谢。

【问题讨论】:

【参考方案1】:

MySQL 文档清楚地说明了 here 背后的原因

MySQL 需要外键和引用键的索引,以便 外键检查可以很快并且不需要表扫描。在里面 引用表,必须有外键所在的索引 列按相同顺序列为第一列。这样一个 如果没有,则在引用表上自动创建索引 存在。

有许多查询通常需要根据外键匹配行,而数据库必须找到这些行。索引通常有助于加快这一进程。

【讨论】:

【参考方案2】:

如果您正在创建外键,则意味着该列将用于将数据与任何其他表引用的列连接起来,因此可以理解,该列需要索引才能更好地连接。

由于这个原因,这个特性是在 mysql 外键概念中构建的。

【讨论】:

以上是关于MYSQL如何添加索引的主要内容,如果未能解决你的问题,请参考以下文章

mysql 添加索引 mysql 如何创建索引

mysql 添加索引 mysql 如何创建索引

MySQL 如何添加索引

MYSQL 如何建立索引及如何使用索引

MYSQL 如何建立索引及如何使用索引

mysql数据库怎么创建索引