第 4 页精品文档---下载后可任意编辑sql 开发中简洁忽视的一些小地方(四) 1、 SQL 开发中简洁忽视的一些小地方(四)教育资源库 非聚集索引结构: 1:非聚集索引与聚集索引具有相同的 B 树结构,它们之间的显著差异在于以下两点: *基础表的数据行不按非聚集键的挨次排序和存储
*非聚集索引的叶层是由索引页而不是由数据页组成
2:非聚集索引行中的行定位器或是指向行的指针,或是行的聚集索引键,如下所述: *假如表是堆〔意味着该表没有聚集索引〕,则行定位器是指向行的指针
该指针由文件 标 识 符 (ID) 、 页 码 和 页 上 的 行 数 生 成
整 个 指 针 称 为 行ID(RID)
*假如表有聚集索引或索引视 2、图上有聚集索引,则行定位器是行的聚集索引键
假如聚集索引不是唯一的索引,SQLServer 将添加在内部生成的值〔称为唯一值〕以使全部重复键唯一
此四字节的值对于用户不行见
仅当需要使聚集键唯一以用于非聚集索引中时,才添加该值
SQLServer通过使用存储在非聚集索引的叶行内的聚集索引键搜寻聚集索引来检索数据行
网络观点:orderby 子句中使用了的列,可以在此列 上 建 非 聚 集 索 引 以 提 高 查 询 速 度
原 文 地址:blog10697_1221
htm 本人观点:总之一句话,环境不同,表结构不同,数据分布不同,最终 3、结果也不愿定相同
案例:本人最近做一个项目时有两个大表关联,都接近千万
一个表是订单表 order,另一个是会员表member,订单中有一字段 create_date:类型为 datatime,其中的值都第 5 页精品文档---下载后可任意编辑是不相同且唯一,而且并不连续,下面是一些值: create_date -----------------------2024-10-0504:00:56