MySQL索引的使用
主要功能是提高查询速度,降低数据库系统的性能开销。
通过索引,查询数据与完成记录所需的所有信息不匹配,但只查询索引列。
索引相当于字典序列表,查询序列表中可以找到的单词。
然后直接跳转到音序器位置,不必从字典第一页转到单词,
提示:虽然索引可以提高查询速度,但在插入记录时会根据索引进行排序,因此减少了插入速度。
最好的方法是先删除索引,插入大量的记录,然后创建索引。
指标分类
1。通用索引:不受任何限制,可以在任何数据类型中创建。
2。唯一性指标:使用唯一参数,可以将索引设置为唯一索引。创建索引时,此索引的值必须是唯一的。主键是惟一索引。
三.全文索引:使用全文参数可以设置索引,全文索引,全文索引只能在类型为char,varchar,字段创建或文本。当查询字符串类型字段和一个数据量大,效果明显。但只有MyISAM存储引擎支持全文检索
4。单个索引:在表中的一个字段上创建的索引,只要保证该索引仅对应于一个字段,则单个列索引可以是任意类型的。
5。多列索引:在一个表中的多个字段上创建的索引,它指向与创建时间相对应的多个字段。
6。空间索引:利用空间参数,索引可以设置为空间索引,空间索引只能建立在空间数据类型上,如几何图形,不能是空的。目前,只有MyISAM存储引擎支持。
创建表时创建索引
创建普通索引
复制代码代码如下所示:
MySQL >创建表1(
id > int,
名称varchar(20),
性别>布尔值,
>索引(id)
>;
查询OK,0行受影响(0.11秒)
索引是在id字段上创建的,可以查看显示创建表。
创建唯一索引
复制代码代码如下所示:
MySQL >创建表的指数(
唯一的id,
名称varchar(20),
唯一索引index2_id(ID,ASC)
>;
查询OK,0行受影响(0.12秒)
这里使用的ID字段创建一个索引命名index2_id
这里的id字段不能设置唯一的约束,但它不能用这种方式工作。
创建全文索引
复制代码代码如下所示:
MySQL >创建表的索引(
id > int,
信息varchar(20),
全文索引index3_info(信息)->
->引擎= MyISAM);
查询OK,0行受影响(0.07秒)
要知道,存储引擎MyISAM只能创建全文索引时使用
创建单列索引
复制代码代码如下所示:
MySQL >创建表的指标(
id > int,
主体varchar(30),
指数- > index4_st(主体(10))
>;
查询OK,0行受影响(0.12秒)
主题字段的长度为30,索引长度为10。
这样做的目的是提高查询速度,而不是查询字符类型数据的全部信息。
创建多列索引
复制代码代码如下所示:
MySQL >创建表index5(
id > int,
名称varchar(20),
-性焦(4),
指数index5_ns(姓名,性别)
>;
查询OK,0行受影响(0.10秒)
如您所见,名称字段和性别字段用于创建索引列。
创建空间索引
复制代码代码如下所示:
MySQL >创建表index6(
id > int,
几何不空>空格,
空间索引index6_sp(空间)->
->引擎= MyISAM);
查询OK,0行受影响(0.07秒)
需要注意的是,空间空间字段不是空的,存储引擎也是可用的。
在现有表上创建索引
创建普通索引
复制代码代码如下所示:
MySQL >创建index7_id example0指数(ID);
查询OK,0行受影响(0.07秒)
记录:0个重复:0个警告:0
在这里,一个名叫index7_id指标是在现有表的ID字段创建
创建唯一索引
复制代码代码如下所示:
MySQL >创建唯一索引(1 index8_id course_id);
查询OK,0行受影响(0.16秒)
记录:0个重复:0个警告:0
这里只需要添加索引关键字的唯一
对于表中的course_id领域,唯一性约束,建立了
创建全文索引
复制代码代码如下所示:
MySQL >创建全文索引index9_info example2(信息);
查询OK,0行受影响(0.07秒)
记录:0个重复:0个警告:0
全文关键字用于建立全文引擎,其中表必须MyISAM存储引擎
创建单列索引
复制代码代码如下所示:
MySQL >创建青年指数index10_addr(地址(4));
查询OK,0行受影响(0.16秒)
记录:0个重复:0个警告:0
此表中的地址字段长度为20,其中只查询4字节,不需要完整查询。
创建多列索引
复制代码代码如下所示:
MySQL >创建索引index11_na例(名称,地址);
查询OK,0行受影响(0.16秒)
记录:0个重复:0个警告:0
创建索引后,查询必须使用名称字段。
创建空间索引
复制代码代码如下所示:
MySQL >创建空间索引index12_line在example5(空间);
查询OK,0行受影响(0.07秒)
记录:0个重复:0个警告:0
需要注意的是,存储引擎是MyISAM和空间数据类型。
创建一个带有更改表语句的索引
创建普通索引
复制代码代码如下所示:
MySQL >修改表添加索引index13_n G酰化酶(名称(20));
查询OK,0行受影响(0.16秒)
记录:0个重复:0个警告:0
创建唯一索引
复制代码代码如下所示:
MySQL >修改表example7添加唯一索引index14_id(ID);
查询OK,0行受影响(0.20秒)
记录:0个重复:0个警告:0
创建全文索引
复制代码代码如下所示:
MySQL >修改表example8添加索引index15_info(信息);
查询OK,0行受影响(0.08秒)
记录:0个重复:0个警告:0
创建单列索引
复制代码代码如下所示:
MySQL >修改表example9添加索引index16_addr(地址(4));
查询OK,0行受影响(0.16秒)
记录:0个重复:0个警告:0
创建多列索引
复制代码代码如下所示:
MySQL >修改表example10添加索引index17_in(ID、名称);
查询OK,0行受影响(0.16秒)
记录:0个重复:0个警告:0
创建空间索引
复制代码代码如下所示:
MySQL >修改表example11添加空间索引index18_space(空间);
查询OK,0行受影响(0.06秒)
记录:0个重复:0个警告:0
这里列举了三种运行方式,建立了每一类指标。
对于一个索引,理解索引的概念和理解索引的类型是很重要的。
更多的是你自己使用的经验。
最后,看看索引的删除。
删除索引
复制代码代码如下所示:
MySQL索引在example11 index18_space >;
查询OK,0行受影响(0.08秒)
记录:0个重复:0个警告:0
下面是刚刚创建的索引
在index18_space是索引的名称,和example11是表名