1、数据库中存储数据的基础单位就是页,数据库的页大小和操作系统类似,是指存放数据时,每一块的大小。比如一个1M的数据存放在数据库中时, 需要大概12块页来存放。如果是在操作系统上安装的数据库,最好将数据库页大小设置为操作系统页大小的倍数,才是最佳设置。数据库可以将数据从逻辑上分成页,磁盘的I/O操作就是在页级执行。
2、数据库页类型主要分如下三类:
- 数据页
- 大型对象数据类型
- 索引页
(大型对象数据类型,比如text,image,nvarchar(max)等。)
3、一个区包含8个页,它是管理空间的单位,分为如下两类
- 统一区,由单个对象所有。
- 混合区,最多可由八个对象共享。
4、非聚集索引与聚集索引之间的显著差别在于以下两点:
- 基础表的数据行不按非聚集键的顺序排序和存储。
- 非聚集索引的叶层是由索引页而不是由数据页组成。
索引的优点:正确的索引会大大提高数据查询,对结果进行排序、分组的操作效率。
索引的缺点:
- 创建索引需要额外的磁盘空间,索引最大一般为表大小的1.2倍左右。
- 在表数据修改时,例如增加,删除,更新,都需要维护索引表,这是需要系统开销的。
- 不合理的索引设计非但不能利于系统,反而会使系统性能下降。例如我们在一个创建有非聚集索引的列上做范围查询,此列的索引不会起到任何的优化效果,反而由于数据的修改而需要维护索引表,从而影响了对数据修改的性能。
什么字段不适合创建索引?
- 不经常使用的列,这种索引带来缺点远大于带来的优点。
- 逻辑性的字段,例如性别字段等等,匹配的记录太多,和全表扫描比起来差不多。
- 字段内容特别大的字段,例如大字段等,这会大大增大索引所占用的空间以及索引维护时的速度。
- 涉及到计算的列,或者是需要利用数据库函数进行加工处理的列不应当创建索引。
联合索引:
- 查询条件中出现联合索引第一列,或者全部,则能利用联合索引.
- 条件列中只要条件相连在一起,无论前后,都会利用上联合索引.
- 查询条件中没有出现联合索引的第一列,而出现联合索引的第二列,或者第三列,都不会利用联合索引查询.
单一列索引:
只要条件列中出现索引列,无论在什么位置,都能利用索引查询.
时间: 2024-10-25 11:41:02