下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

mysql创建索引

作者:课课家教育     来源: http://www.kokojia.com点击数:723发布时间: 2016-11-19 11:00:52

标签: mysqlmysql教程mysql数据库

  MySQL当中有许多的数据结构,小编在前面的文章当中都有给大家介绍过。今天小编就给大家介绍一下MySQL当中的索引,索引指的就是一个高效组织的数据结构,它能够有效的提高数据检索的速度。

  (一)MySQL索引简介

  索引的存放位置:对于Innodb储存引擎的表来说,索引会按照MySQL进行配置,然后集中存放在相同的文件中。然而,对于Myisam储存引擎的表来说,索引信息就会单独储存在表的.MYI文件当中。

mysql创建索引_mysql_mysql教程_mysql数据库_课课家

  Index文件不只储存了需要查询的数据的索引值,索引值下面还有该索引对应数据的指针信息,指向数据库文件真实数据的位置。就是说索引就等于书本的目录章节以及对应页码,数据库能按照章节标题以及页码寻找对应的数据,就可以加快查询速度。

  以为MySQL的常用索引:

  (1)普通索引

  (2)主键索引

  (3)唯一索引

  (4)全文索引

  (5)多列索引

  通常,把索引添加在查询频繁并且重复度低的列上面,主键索引还有唯一的索引就是"主键约束"还有"Unique约束",这两种为特殊索引。

  (二)索引实例

  (1)普通索引

  普通索引的创建,如下:

 普通索引

  (2)主键索引

  主键索引又称"主键约束",如下:

 主键索引

  (3)唯一索引

  唯一索引又称为“Unique约束”",如下:

唯一索引

  (4)全文索引

  全文索引只可以对空格分隔字符的语言环境有效,如英文是句子中每个单词中间都会有空格,但是中文字符间是没有空格的。然而,在MySQL5.6.4之前的版本中,只有Myisam引擎的表才支持全文索引。在MySQL5.6.10版本后,InnoDB也支持索引技术了,如下例:

 全文索引

  (5)多列索引

  有时,把数据分开储存就会便于管理,但有时又要把他们看成整体索引查询,这样就能用多列索引:

 多列索引

  在查找过程中,不管列名称怎么前后排序,MySQL都可以正确的组合,还能用到正确的索引,首先多列索引中位于开头的那些数据要包含在里面。假设三段数据a,b,c都加入了多列索引keykeyName(a,b,c),只是bandc就不会主动使用多列索引。但是,只要包含a,后面不管是c还是b亦或是只有a,都可以主动用多列索引查询。

  这就是数据库中"左前缀"的概念,要是数据‘ABCDEF’加入了索引,就查询前面ABC部分,数据库能够按照索引查找ABC开头的数据,而我们只知道DEF部分,数据库就不会主动的用索引查找,原因是索引中没有DEF开头的数据。

多列索引

  (三)索引管理

  (1)对表索引信息进行查看

  对表索引信息进行查看

  (2)删除表索引信息

删除表索引信息

  (3)追加索引信息

 追加索引信息

  总结:要是Key是MUL,那么这一列的值可以重复,这一列是非唯一索引的前导列,即第一列或者是一个唯一性索引的组成部分但是可以含有空值NULL。

  关于MySQL使用SQL语句为表中字段添加索引,本文就介绍这么多,希望对大家有所帮助,谢谢!

赞(12)
踩(0)
分享到:
上一篇:创建View视图
华为认证网络工程师 HCIE直播课视频教程