数据库知识(二) : 索引
索引的缺点:
- 创建索引和维护索引要耗费时间 ,时间随着数据量的增加而增加。
- 占用大量磁盘空间,今天发现公司的一个大表,索引占用的空间竟然是行数据占用空间的125%。
- 当对表中的数据进行增加、删除和修改的时候, 索引也要动态的维护 ,这样就降低了数据的维护速度。
创建索引的建议:
- 仅为必要的列创建索引。
- 合理使用联合索引,避免创建重复性质索引。
- 主键建议用自增Id,避免用guid这种无序长字符串主键。可以减小索引所占用的空间(索引叶子节点存储的内容是主键)。并且在新增行数据时无需对主键索引树原有数据进行位置改动。
- 数据差异性不大的列没有必要创建索引,eg:性别,状态。(可以将性别、状态这种列放在联合索引后面用于优化覆盖索引及索引下推的情况)
1普通索引与唯一索引的区别 普通索引 新插入数据时,可以利用changebuff 而 唯一索引必须将数据页读到内存。