简单介绍MySQL中索引的使用方法

 更新时间:2015年05月27日 09:36:41   投稿:goldensun  
这篇文章主要介绍了简单介绍MySQL中索引的使用方法,是MySQL入门学习中的基础知识,需要的朋友可以参考下

数据库索引是一个数据结构,提高操作的速度,在一个表中可以使用一个或多个列,提供两个快速随机查找和高效的顺序访问记录的基础创建索引。

在创建索引时,它应该被认为是将SQL查询的那些列上创建一个或多个索引的列。

实际上,指数也保持主键或索引字段和指针的实际表中每条记录的表型。

用户无法看到索引,它们只是用来加快查询速度,将用于数据库搜索引擎找到的记录速度非常快。

INSERT和UPDATE语句表上的索引需要更多的时间,成为快速对这些表的SELECT语句。究其原因是,当进行插入或更新,数据库以及需要惰性或更新索引值。
简单的唯一索引:

可以创建一个唯一索引的表。唯一的索引意味着两个行不能拥有相同的索引值。这里是语法来创建索引的表

CREATE UNIQUE INDEX index_name
ON table_name ( column1, column2,...);

可以使用一个或多个列上创建索引。例如,我们可以创建一个索引的使用在表tutorials_tbl的tutorial_author列上

CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author)

可以创建一个简单的索引的表。只要省略UNIQUE关键字的查询创建一个简单的索引。简单的索引允许重复表中的值。

如果你想在一列以降序索引值,可以在列名后添加保留字DESC:

mysql> CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author DESC)

ALTER命令添加和删除索引:

有四种类型的语句表添加索引:

  •     ALTER TABLE tbl_name ADD PRIMARY KEY (column_list) : 这条语句添加一个主键,这意味着索引值必须是唯一的,不能是NULL。
  •     ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): 这条语句创建一个索引,其值必须是唯一的(除NULL值,这可能会多次出现)。
  •     ALTER TABLE tbl_name ADD INDEX index_name (column_list): 这增加了一个普通的索引,其中的任何值,可能会出现多于一次。
  •     ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list): 这将创建一个特殊的FULLTEXT索引,用于文本搜索的目的。

下面是这个例子,在现有的表添加索引。

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

可以删除任何INDEX通过使用DROP子句和使用ALTER命令。试试下面的例子上面创建的索引下降。

mysql> ALTER TABLE testalter_tbl DROP INDEX (c);

可以删除任何INDEX通过使用DROP子句t和使用ALTER命令。试试下面的例子上面创建的索引x。
ALTER命令来添加和删除PRIMARY KEY:

您可以添加主键,以及在相同的方式中。但要确保主键这是NOT NULL的列上。

这是在现有的表添加主键的例子。这将NOT NULL列,然后将其添加为一个主键。

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

可以使用ALTER命令删除主键如下:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

要删除索引,这不是一个PRIMARY KEY,所以必须指定索引的名称。
显示索引信息:

您可以使用SHOW INDEX命令,列出所有相关联的索引表。垂直格式输出(指定由\ G)往往是有用的这句话,以避免长时间行重叠:

试试下面的例子:

mysql> SHOW INDEX FROM table_name\G
........


相关文章

  • mysql中的sql_mode模式实例详解

    mysql中的sql_mode模式实例详解

    这篇文章主要介绍了mysql中的sql_mode模式,结合实例形式详细分析了mysql sql_mode模式相关原理、用法及操作注意事项,需要的朋友可以参考下
    2020-01-01
  • 一键搭建MYSQL主从,轻松应对数据备份与恢复

    一键搭建MYSQL主从,轻松应对数据备份与恢复

    MYSQL主从是一种常见的数据库架构,它可以提高数据库的可用性和性能,在主从架构中,主数据库负责处理写操作,而从数据库负责处理读操作,当主数据库发生故障时,从数据库可以接管并继续提供服务,从而实现高可用性,需要的朋友可以参考下
    2023-10-10
  • 详解mysql基本操作详细(二)

    详解mysql基本操作详细(二)

    这篇文章主要介绍了mysql基本操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Mysql之如何创建函数问题

    Mysql之如何创建函数问题

    这篇文章主要介绍了Mysql之如何创建函数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Ubuntu下取消MySQL数据库本机绑定限制方法

    Ubuntu下取消MySQL数据库本机绑定限制方法

    在Ubuntu系统中,添加了MySQL账户,赋予了数据库完全操作权限,并且允许数据库从外部链接 但是,还是无法远程访问MySQL数据库
    2013-06-06
  • mysql入门之1小时学会MySQL基础

    mysql入门之1小时学会MySQL基础

    今天刚好看到了SYZ01的这篇mysql入门文章,感觉对于想学习mysql的朋友是个不错的资料,脚本之家特分享一下,需要的朋友可以参考下
    2018-01-01
  • MySQL磁盘碎片整理实例演示

    MySQL磁盘碎片整理实例演示

    这篇文章主要给大家介绍了关于MySQL磁盘碎片整理的相关资料,为什么数据库会产生碎片,以及如何清理磁盘碎片,还有一些清理磁盘碎片的注意事项,需要的朋友可以参考下
    2022-04-04
  • mysql游标的原理与用法实例分析

    mysql游标的原理与用法实例分析

    这篇文章主要介绍了mysql游标的原理与用法,结合实例形式分析了mysql游标的概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • 生产环境MySQL索引时效的排查过程

    生产环境MySQL索引时效的排查过程

    这篇文章主要介绍了生产环境MySQL索引时效的排查过程,文章根据SQL查询耗时特别长,看了执行计划发现没有走索引的问题展开详细介绍,需要的朋友可以参考一下
    2022-04-04
  • mysql 5.7.24 压缩包安装配置方法图文教程

    mysql 5.7.24 压缩包安装配置方法图文教程

    这篇文章主要介绍了mysql 5.7.24 压缩包安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08

最新评论