写点什么

SQL Server 2008 索引使用技巧

  • 2008-08-27
  • 本文字数:803 字

    阅读完需:约 3 分钟

微软 MVP 及畅销书《Hitchhiker’s Guide SQL Server》的作者 Bill Vaughn简要给出了SQL Server 2008 的索引使用技巧。该主题基于 Kimberly Tripp Paul Randall (这两位是 SQL Server 高可用性和性能方面的专家)的建议。

下面是主要的建议:

  • 页(page)密度 > 优化行大小:SQL Server 2005(及后续版本)支持 8k 的列。这意味着一行可以超过 80k 大小。这有意义么?哦,通常情况下没有。对行大小的管理与效率同样重要。如何提高性能并充分利用空间呢?方法就是当 8k 的页被多个行塞满的时候,要确保几乎没有空间浪费。这意味着如果行大小超过(或者接近)4k 时,一页只适合一行,这样该页大约有 4k 的空间就浪费了。第二个问题是索引页的数量也必须增加以寻址这些页。
  • 过滤的索引 > 这是 SQL Server 2008 的新特性,它使我们可以向索引增加 WHERE 子句,这样就可以将索引聚焦到大多数重要的行上。
  • 选择性(Selectivity) > 选择性:当查询优化器(query optimizer,即 QO)读取 SQL 时,选择性的程度决定了索引是否应该用来执行该操作。通过对索引的 Statistics(或者“stats”,一个索引可以拥有一个或者多个 stats)进行处理分析,QO 可以作出决定。基本上,它会权衡使用索引来遍历选择的行或者对表进行扫描这两种方式。Kimberly 采用的例子使这一切变得很明朗,但我们却感到惊讶:“当行数(由查询选择的)大约是表中的数据页的 1/4 时,索引并没有起到什么作用,这时对表进行扫描来获取选择的行效率更高。这通常发生在取出的行数不到表中总行数的 5% 的情况下…”

SQL Server 2005 中关于索引统计、列选择、索引碎片及锁的标准实践依然可用。

Tripp 和 Randal 也认为 DTA, a.k.a. Data Engine Tuning Advisor 是个有价值的工具。 SQL Server 2008 已经更新了 DTA 以提供新的特性,包括改进的工作量解析、增强的可伸缩性、多数据库调校、通过 dta 命令行界面的改进脚本支持。

查看英文原文: SQL Server 2008 Indexing Tips And Tricks

2008-08-27 05:143010
用户头像

发布了 88 篇内容, 共 273.4 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

一文教你如何重新认识用户

蔡农曰

互联网 产品经理 消费者 需求设计

浪潮云:以数据云IBP释放数据要素力量

云计算 数据云

linux 查看操作系统版本

平凡人生

易观千帆 | 12月用户体验GX评测:国有行及股份行持续领跑,农信社用户体验关注提升

易观分析

金融 手机银行

数据可视化大屏项目,我是如何实现多屏间的数据通信

梁木由

程序员 前端 前端开发

在 Asp.Net Core 中什么是认证和授权

newbe36524

C# Kubernetes

全景剖析阿里云容器网络数据链路(三):Terway ENIIP

阿里巴巴云原生

阿里云 云原生 云原生容器

四点聚焦亚马逊2022财报,AWS收入801亿美元,同比增长20%,年度增长率29%

B Impact

2023最新H5前端阅读书单推荐

kcodez

前端 H5 React

内存数据库如何发挥内存优势?

陈橘又青

数据库

RocketMQ Streams拓扑构建与数据处理过程

Apache RocketMQ

RocketMQ 消息列队

富士康CDO史喆:数字化和智能化为何要打造开放系统,引入外部合作?

B Impact

文件打开标识O_CLOEXEC简介

SkyFire

Linux 文件描述符

IntelliJ IDEA 的 Code Coverage 测试

HoneyMoose

Java高手速成 | JSP的MVC模式

TiAmo

mvc jsp

新年新气象,老兵开新坑

致知Fighting

Java Go 服务器

全球化安全生产 & 质量保障体系建设探索

阿里技术

质量保障 安全生产 全球化技术能力

统一观测丨如何使用 Prometheus 监控 MySQL

阿里巴巴云原生

MySQL 阿里云 云原生 #Prometheus

订单流量录制与回放探索实践

得物技术

Java 运维 后端 稳定生产

架构实战营第10期模块六

刘博

泰山众筹sun4.0矩阵合约系统开发搭建

开发微hkkf5566

linux 磁盘挂载

平凡人生

单体应用、SOA架构、微服务架构有哪些优劣势?

FN0

微服务架构 组件化 SOA

微博系统中”微博评论“的高性能高可用计算架构

Geek_e5f2e5

来看一个 ChatGPT 有关程序员的笑话

HoneyMoose

SpringBoot实现电子文件签字+合同系统

程序员大彬

springboot

智能合约佛萨奇系统开发,佛萨奇2.0源码搭建

薇電13242772558

成为海上霸总,全靠5G?

脑极体

5G

SQL Server 2008索引使用技巧_.NET_Al Tenhundfeld_InfoQ精选文章