SQL Server索引与查询操作全解析
1. 索引创建基础
索引在SQL Server中扮演着关键角色,它就像书籍的索引一样,能帮助我们快速定位所需的数据,即使是在非常大的表中。索引包含定义它的列中的所有值,SQL Server会以排序格式将这些数据存储在双向链表的页面上,本质上索引是表的一个小型表示。
1.1 创建覆盖索引
覆盖索引是一种特殊的索引,SQL Server可以使用它来满足查询,而无需访问实际的表。例如,我们有一个 Customer 表,要查找信用额度大于10,000美元的所有客户的姓名。如果没有索引,SQL Server会扫描整个表来定位信用额度大于10,000的所有行,这效率非常低。
- 普通索引情况 :若在 Credit Line 列上创建索引,SQL Server会使用该索引快速定位符合条件的行,然后通过聚集索引(通常基于主键)返回客户姓名。
- 覆盖索引情况 :若创建一个包含 Credit Line 和 Customer Name 两列的非聚集索引,SQL Server在使用该非聚集索引找到信用额度大于10,000的所有行时,同时也能定位到所有客户姓名,无需再访问聚集索引。
SQL Server在选择索引时,仅会检查索引中定义的第一列。例如,如果在 FirstName 和 LastName 上定义了一个索引,而查询只查找 LastName
超级会员免费看
订阅专栏 解锁全文
1982

被折叠的 条评论
为什么被折叠?



