MySQL创建表的时候创建索引.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

MySQL创建表的时候创建索引

⽬录

1.

2.

3.

4.

5.

6.

7.

要想使⽤索引提⾼数据表的访问速度,⾸先,需要创建⼀个索引,创建索引的⽅式,有三种。

创建表的时候,创建索引

这种⽅式最简单、⽅便,语法格式

CREATETABLE表名(字段名数据类型[完整性约束条件],

字段名数据类型[完整性约束条件],

……

字段名数据类型[UNIQUE|FULLTEXT|SPATIAL]INDEX|KEY

[别名](字段名1[(长度)])[ASC|DESC]);

参数说明

UNIQUE——可选参数,表⽰唯⼀索引

FULLTEXT——可选参数,表⽰全⽂索引

SPATITL——可选参数,表⽰空间索引

INDEX和KEY——⽤来表⽰字段的索引,⼆者选⼀即可

别名——可选参数,表⽰创建的索引名称

字段名1——指定索引对应字段的名称

长度——可选参数,⽤于表⽰索引的长度

ASC和DESC——可选参数,其中,ASC表⽰升序排序,DESC表⽰降序排序。

创建普通索引

在t1表中的id字段上创建索引

查看索引,使⽤SHOWCREATETABLE语句,查看表的结构,可以看出,id字段上已经创建了⼀个名称为id的索引。

查看索引是否使⽤

可以使⽤EXPLAIN进⾏查看

可以看出,possible_keys:id和key:id

possible_keys和key的值都为id,说明id索引已经存在,并且已经开始被使⽤了。

创建唯⼀性索引

创建⼀个表名为t2的表,在表中的id字段上建⽴索引名为unique_id的唯⼀性索引,并且,按照升序排序。

使⽤SHOWCREATETABLE查看表的结构。

可以看出,id字段上已经创建了⼀个名词为unique_id的唯⼀性索引。

创建全⽂索引

创建⼀个表名为t3,在表中的name字段上建⽴索引名为fulltext_name的全⽂索引。

使⽤SHOWCREATETABLE查看表的结构。

可以看出,name字段上已经建⽴了⼀个名为fulltext_name的全⽂索引。

注意,⽬前只有MyISAM存储引擎⽀持全⽂索引,InnoDB存储引擎不⽀持全⽂索引,因此,在建⽴全⽂索引时,⼀定要注意表存储引擎的

类型,对于经常需要索引的字符串、⽂字数据等信息,可以考虑存储到MyISAM存储引擎的表中。

创建单列索引

创建⼀个表名为t4的表,在表中的name字段上建⽴索引名为single_name的单列索引。

使⽤SHOWCREATETABLE查看数据表的结构。

可以看出,name字段上已经建⽴了⼀个名词为single_name的单列索引,并且,索引的长度为20。

创建多列索引

创建⼀个表名为t5的表,在表中的id和name字段上建⽴索引名为multi的主列索引。

使⽤SHOWCREATETABLE查看表的结构。

可以看出,id和name字段上已经建⽴了⼀个名为multi的多列索引。

注意,在多列索引中,只有查询条件中使⽤了,这些字段中的第⼀个字段时,多列索引才会被使⽤。

为了验证这个说法,将id字段作为查询条件,通过EXPLAIN语句查看索引的使⽤情况,执⾏如下

可以看出,possible_keys和key的值都为multi,说明multi索引已经存在,并且,已经开始被使⽤了。

但是,如果只使⽤name字段作为查询条件,执⾏如下。

可以看出,possible_keys和key的值,都为NULL,说明multi索引还没有被使⽤。

创建空间索引

创建⼀个表名为t6的表,在空间类型为GEOMETRY的字段上创建空间索引。

使⽤SHOWCREATETABLE查看表的结构

可以看出,t6表中的space字段上已经建⽴了⼀个名为sp的空间索引。

注意,创建空间索引时,所在字段的值不能为空值,并且,表的存储引擎为MyISAM。

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档