目录

一:索引简介 

二:如何创建索引:

1.创建数据表的时候创建索引

2.在已有的表上创建索引;查看索引;删除索引;

 三:索引使用原则


一:索引简介 

● 向数据表里保存数据,记录越来越多,一旦达到上千万条,怎么提高检索速度就需要考虑了;

● 当我们打开一个应用,希望能快点加载出内容,影响加载速度的因素有很多,但如何减少数据查找的时间是其中非常重要的一环;

● 索引机制是提高数据检索速度的;索引机制的原理很简单,就是对数据进行排序:

给表的某个字段创建索引后,设置好索引以后,数据库就会对这个字段进行排序,生成二叉树。MySQL利用二叉树结构,对数据表的记录排序,从而加速数据的检索速度:

即,只有引入索引机制,才能在数据表有超大量数据的情况下,还能保持查找的高速;


二:如何创建索引:

1.创建数据表的时候创建索引

注:(1)如果指定了索引的名称,这个索引的名字就是我们指定的这个;;;如果没有指定索引的名字,索引也是有名字的,数据库就会用创建索引的那个字段的字段名作为索引的名称。

       (2)一张表,可以给多个字段设置索引;

示例:创建t_message表,并给其type字段设置索引,索引名字叫"idx_type";

CREATE TABLE t_message(
	id INT UNSIGNED PRIMARY KEY,
	content VARCHAR(200) NOT NULL,
	type ENUM("公告","通报","个人通知") NOT NULL,
	create_time TIMESTAMP NOT NULL,
	INDEX idx_type (type)
);

……………………………………………………

2.在已有的表上创建索引;查看索引;删除索引;

给一个已经存在的数据表创建索引;查看索引,删除索引;

示例1:给t_meaaget的content字段添加索引,并查看t_message表的索引::::这些语句好像不能一起执行,只能执行完一条,再去执行下一条。

CREATE INDEX inx_content ON t_message(content);
SHOW INDEX FROM t_message;

 

示例2:删除在content字段上的“idx_content”索引,在type字段上创建“idx_type”索引,并查看t_message表的索引:::这些语句好像不能一起执行,只能执行完一条,再去执行下一条。

DROP INDEX inx_content ON t_message;
ALTER TABLE t_message ADD INDEX t_type(type);
SHOW INDEX FROM t_message;

只有引入索引机制,才能在数据表有超大量数据的情况下,还能保持查找的高速;主键字段自带索引,所以,利用主键作为查询条件也可以保持高速;但是那些非主键字段如果不设置索引,当表中数据非常多,并以这些非索引字段为查询条件的时候,查询的会非常慢,所以,我们应该给那些经常作为检索条件的字段,设置上索引。


 三:索引使用原则

索引机制是非常重要的,大多数软件系统,数据的读取远远超过了数据的写入,比如常见的购物网站,用户多是看的多,买的少,即购物网站系统上,查询的数量远远多于写入速度;

 

 

 

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐