索引 视图 事务 游标 锁 详细介绍
时间:2025-04-04
时间:2025-04-04
索引 视图 事务 游标 锁 详细介绍
索引 视图 游标 事务 锁
1、索引
索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
优点:
大大加快数据的检索速度;
创建唯一性索引,保证数据库表中每一行数据的唯一性;
加速表和表之间的连接;
在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
缺点:
索引需要占物理空间占用物理空间过多会影响整个SQL Server性能。
当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。
建立索引的原则:
(1) 主键的数据列一定要建立索引,因为主键可以加速定位到表中的某一行。
(2) 外键的数据列一定要建立索引,外键列通常用于表与表之间的连接,在其上创建索引可以加快表间的连接速度。
(3) 对于经常查询的数据列最好建立索引。
索引的分类
普通索引:这是最基本的索引,它没有任何限制
唯一索引:它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一
主键索引(通过主键约束间接创建):它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引
组合索引:在表中的多个列上创建的索引。组合索引中列的顺序是任意的,可以是相邻的列,也可以是不相邻的列。
理解索引:
(1)如果经常使用表中的某一列或某几列为条件进行查询,且表中的数据量比较大时,可以创建索引,以提高查询的速度。
(2)索引是与表关联的可选结构。
(3)通过有目的的创建索引,可以加快对表执行SELECT语句的速度。
(4)不管索引是否存在,都无需修改任何SQL语句的书写方式。索引只是一种快速访问数据的途径,它只影响查询执行的效率。
(5)可以使用CREATE INDEX命令在一列或若干列的组合上创建索引。
(6)创建索引时,将获取要创建索引的列,并对其进行排序。然后,将一个指针连同每一行的索引值存储起来,组成键值对(目录名和页码)。使用索引时,系统首先通过已排序的列值执行快速搜索,然后使用相关联的指针值来定位具有所要查找值的行。
(7)一旦创建了索引,SQL会自动维护和使用它们。
1