MySQL   发布时间:2022-05-15  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了MySQL创建表的时候创建索引大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

要想使用索引提高数据表的访问速度,首先,需要创建一个索引,创建索引的方式,有三种。

<h3 id="创建表的时候创建索引">创建表的时候,创建索引@H_419_2@

这种方式最简单、方便,语法格式 create table 表名(字段名 数据类型[完整性约束条件], 字段名 数据类型 [完整性约束条件], …… 字段名 数据类型 [UNIQUE | FULLTEXT |SPATIAL] INDEX | KEY [别名](字段名1 [(长度)])[ASC|DESC]); 参数说明 UNIQUE——可选参数,表示唯一索引 FULLTEXT——可选参数,表示全文索引 SPAtitl——可选参数,表示空间索引 INDEX和KEY——用来表示字段的索引,二者选一即可 别名——可选参数,表示创建的索引名称 字段名1——指定索引对应字段的名称 长度——可选参数,用于表示索引的长度 ASC和DESC——可选参数,其中,ASC表示升序排序,DESC表示降序排序。

<h3 id="创建普通索引">创建普通索引@H_419_2@

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

title="MySQL创建表的时候创建索引" alt="MySQL创建表的时候创建索引" src="http://code.js-code.com/res/2019/01-02/09/ccff4285e17597ec76eea75bad4ba192.jpg" >

查看索引,使用SHOW create table语句,查看表的结构,可以看出,id字段上已经创建了一个名称为id的索引。 查看索引是否使用 可以使用EXPLAIN进行查看

title="MySQL创建表的时候创建索引" alt="MySQL创建表的时候创建索引" src="http://code.js-code.com/res/2019/01-02/09/27e51c7eef5993632611ba24ea37ae20.jpg" >

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

<h3 id="创建唯一性索引">创建唯一性索引@H_419_2@

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

title="MySQL创建表的时候创建索引" alt="MySQL创建表的时候创建索引" src="http://code.js-code.com/res/2019/01-02/09/724c51a68c3b148e5b55dba5c8867cea.jpg" >

使用SHOW create table查看表的结构。 可以看出,id字段上已经创建了一个名词为unique_id的唯一性索引。

<h3 id="创建全文索引">创建全文索引@H_419_2@

创建一个表名为t3,在表中的name字段上建立索引名为fulltext_name的全文索引。

title="MySQL创建表的时候创建索引" alt="MySQL创建表的时候创建索引" src="http://code.js-code.com/res/2019/01-02/09/f7cf7bea9b453b741d1a2714cecebfb9.jpg" >

使用SHOW create table查看表的结构。 可以看出,name字段上已经建立了一个名为fulltext_name的全文索引。 注意,目前只有MyISAM存储引擎支持全文索引,InnoDB存储引擎不支持全文索引,因此,在建立全文索引时,一定要注意表存储引擎的类型,对于经常需要索引的字符串、文字数据等信息,可以虑存储到MyISAM存储引擎的表中。

<h3 id="创建单列索引">创建单列索引@H_419_2@

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

title="MySQL创建表的时候创建索引" alt="MySQL创建表的时候创建索引" src="http://code.js-code.com/res/2019/01-02/09/e36e5dc5c929c9cff8fc70e8e8bd7402.jpg" >

使用SHOW create table查看数据表的结构。 可以看出,name字段上已经建立了一个名词为single_name的单列索引,并且,索引的长度为20。

<h3 id="创建多列索引">创建多列索引@H_419_2@

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

title="MySQL创建表的时候创建索引" alt="MySQL创建表的时候创建索引" src="http://code.js-code.com/res/2019/01-02/09/5478d466ba72316118010f156e32288a.jpg" >

使用SHOW create table查看表的结构。 可以看出,id和name字段上已经建立了一个名为multi的多列索引。 注意,在多列索引中,只有查询条件中使用了,这些字段中的第一个字段时,多列索引才会被使用。 为了验证这个说法,将id字段作为查询条件,通过EXPLAIN语句查看索引的使用情况,执行如下

title="MySQL创建表的时候创建索引" alt="MySQL创建表的时候创建索引" src="http://code.js-code.com/res/2019/01-02/09/3eeff8ce3dd91ca9e31a1fca0c0a6529.jpg" >

可以看出,possible_keys和key的值都为multi,说明multi索引已经存在,并且,已经开始被使用了。 但是,如果只使用Name字段作为查询条件,执行如下。

title="MySQL创建表的时候创建索引" alt="MySQL创建表的时候创建索引" src="http://code.js-code.com/res/2019/01-02/09/0505c7ee681bce37105e4cbcc9af8f25.jpg" >

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

<h3 id="创建空间索引">创建空间索引@H_419_2@

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

title="MySQL创建表的时候创建索引" alt="MySQL创建表的时候创建索引" src="http://code.js-code.com/res/2019/01-02/09/912b265c49687dfe96ff9e215b10d8be.jpg" >

使用SHOW create table查看表的结构 可以看出,t6表中的space字段上已经建立了一个名为sp的空间索引。 注意,创建空间索引时,所在字段的值不能为空值,并且,表的存储引擎为MyISAM。

大佬总结

以上是大佬教程为你收集整理的MySQL创建表的时候创建索引全部内容,希望文章能够帮你解决MySQL创建表的时候创建索引所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:首先