数据库的索引

索引是一种与表有关的结构,它的作用相当于书的目录,可以根据目录中的页码快速找到所需的内容。

当表中有大量记录时,若要对表进行查询,没有索引的情况是全表搜索:将所有记录一一取出,和查询条件进行对比,然后返回满足条件的记录。这样做会执行大量磁盘 I/O 操作,并花费大量数据库系统时间。

而如果在表中已建立索引,在索引中找到符合查询条件的索引值,通过索引值就可以快速找到表中的数据,可以大大加快查询速度

对一张表中的某个列建立索引,有以下两种语句格式:

 ALTER TABLE 表名字 ADD INDEX 索引名 (列名);
 CREATE INDEX 索引名 ON 表名字 (列名); 

我们用这两种语句分别建立索引:

ALTER TABLE employee ADD INDEX idx_id (id);  #在employee表的id列上建立名为idx_id的索引

CREATE INDEX idx_name ON employee (name);   #在employee表的name列上建立名为idx_name的索引

使用show index from 表名称;来查看索引

示例:

mysql> alter table employee add index idx_id(id);
mysql> create index idx_name on employee (name);

发表评论

后才能评论