很多时候有人会问我们为啥要用数据库,把数据存放在一个文件中不就行啦,而且数据库连接,操作,那么麻烦。其实我当初也有过这种疑问,想来好笑。也许到现在我也没有真正地弄懂数据库究竟有哪些作用,但是我知道,数据库可以帮助我们高效地组织、存储和管理数据,提供高效地增删改查功能,保证数据安全性,数据完整性,提供数据备份等等一系列功能。其中索引、触发器、事务、视图等等这些功能帮助我们高效地完成数据管理和操作。这里我将介绍一下数据库的一个基本概念——索引。
索引能够加速表中数据的查找和排序,索引是一个单独建立的物理数据库,并且包含一个指向数据表中指定列的数据值指针(指向对应数据的指针)。
作用:
1. 快速查询数据
2. 保证数据的唯一性
3. 实现表与表之间的参照完整性
4. 在使用order by、group by子句进行数据检索时,利用索引可以减少排序和分组的时间。
优点:
1. 大大加快数据检索速度
2. 创建唯一索引,保证数据库表中每行数据的唯一性
3. 加速表之间的连接
4. 减少查询中分组和排序的时间
缺点:
1. 需要占用物理空间
2. 对表中数据进行增加、删除和修改时索引也要更新,降低了数据维护速度
索引可以分为聚簇索引和非聚簇索引。聚簇索引:按照数据存放的物理位置为顺序,能提高多行检索的速度。非聚簇索引:不按数据存放的物理位置顺序,对于单行的检索很快。
索引也可以分为普通索引、唯一索引、主键索引和聚集索引(也叫聚簇索引)。