索引——我们为什么要用索引

来源:互联网 发布:简单的c语言游戏代码 编辑:程序博客网 时间:2024/05/22 09:07

       很多时候有人会问我们为啥要用数据库,把数据存放在一个文件中不就行啦,而且数据库连接,操作,那么麻烦。其实我当初也有过这种疑问,想来好笑。也许到现在我也没有真正地弄懂数据库究竟有哪些作用,但是我知道,数据库可以帮助我们高效地组织、存储和管理数据,提供高效地增删改查功能,保证数据安全性,数据完整性,提供数据备份等等一系列功能。其中索引、触发器、事务、视图等等这些功能帮助我们高效地完成数据管理和操作。这里我将介绍一下数据库的一个基本概念——索引。

       索引能够加速表中数据的查找和排序,索引是一个单独建立的物理数据库,并且包含一个指向数据表中指定列的数据值指针(指向对应数据的指针)。

作用:

1.        快速查询数据

2.        保证数据的唯一性

3.        实现表与表之间的参照完整性

4.        在使用order by、group by子句进行数据检索时,利用索引可以减少排序和分组的时间。

优点:

1.        大大加快数据检索速度

2.        创建唯一索引,保证数据库表中每行数据的唯一性

3.        加速表之间的连接

4.        减少查询中分组和排序的时间

缺点:

1.        需要占用物理空间

2.        对表中数据进行增加、删除和修改时索引也要更新,降低了数据维护速度

 

       索引可以分为聚簇索引和非聚簇索引。聚簇索引:按照数据存放的物理位置为顺序,能提高多行检索的速度。非聚簇索引:不按数据存放的物理位置顺序,对于单行的检索很快。

      索引也可以分为普通索引、唯一索引、主键索引和聚集索引(也叫聚簇索引)。
0 0