第十三周学习笔记

第十三周学习笔记

本周主要讲解了索引应用的技巧与注意事项。

一、索引的应用

索引的优点:索引的查询比全表查询快。原因如下:

(1)索引的数据量比全表的少,需扫描的数据也就少。

(2)索引对字段已经排序,可以进行二分法查询。

缺点:索引也不是越多越好的。如果我们对每一列都建立索引,那么需要的额外存储空间将加大,对于插入、更新等操作的速度将降低,因为这些操作都要维护索引,每插入一条,那么需要在每个索引都插入一条,这样效率就降低了。

由以上可得出结论:我们只要对经常查询的字段建索引,不建无用的索引。由于索引降低插入操作速度,因此可遵循以下原则:

(1)查询频繁,插入少:建索引(一般网站数据都是)

(2)查询少,插入频繁的或字段数据范围小的(如:性别):不建索引

(3)查询多,插入也多:看需求

 

二、索引的使用

(1)建立单列索引

CREATE INDEX index_name ON tb_Patient(columnName ASC);

(2)建立联合索引

CREATE INDEX index_name ON tb_Patient(columnName1 asc,columnName2 DESC);

(3)删除索引

DROP index_name;

(4)重建索引

REINDEX  tb_Patient;

REINDEX  indexName1,indexName2;

 

三、索引的注意事项

对于联合索引,如果所查询字段不包含优先列,那么将不使用这索引。对索引插入是在索引尾部插入的,所以在插入次数较多的情况下应重建索引。触发索引的关键包括但不限于select、where、join、order by(like无效)and、or连接词对索引来说,前后顺序无关。

总结如下:

1.首先数据量小的表不需要建立索引,因为小的表即使建立索引也不会有大的用处,还会增加额外的索引开销

2.不经常引用的列不要建立索引,因为不常用,即使建立了索引也没有多大意义

3.经常频繁更新的列不要建立索引,因为肯定会影响插入或更新的效率

4.索引并不是一劳永逸的,用的时间长了需要进行整理或者重建

5.索引在数据库中是以表的形式存储的,太多的索引一定是增加开销的,还有,前面说的,索引在数据库中是以表的形式存储的,频繁更新(插入)的的字段不要建立索引,因为在字段中做更新(插入)操作后,索引也会更新的,这样的话效率会大大降低。

6.索引当然不是越多越好,够用就是最好,如果建立过多的索引,那你保存的速度就会下降,如果你的数据库写特别频繁,那就需要注意了。

posted @ 2018-01-10 10:05  wllw6  阅读(102)  评论(0编辑  收藏  举报