写点什么

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:142852
用户头像

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

关注

评论

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

如何提升工作效率

wangwei1237

工作效率 文化 大历史理论

让 Go 代码跑上移动端

Rayjun

Go 语言 gomobile

网络攻防学习笔记 Day3

穿过生命散发芬芳

5月日更 网络攻防

原来长大以后,我发现以前面临到的难题并没有不见,只是换了角度出现在生活的另一面。

叶小鍵

道-可道

顿晓

表达 5月日更

如何选择Intel 傲腾持久内存的几种工作模式

Steven Xu

内存 存储 内存数据库 Snapshot 高性能服务器

教你写好技术文章

元闰子

技术人 写作技巧

清华学霸!用18行代码讲解Java接口,程序员:果然厉害,学到了

牛哄哄的java大师

Java 接口

模块三作业

c

架构实战营

白嫖福利!阿里P7大神梳理的Java数组详细知识点,太实用了

飞飞JAva

Java

H5和WebRTC实时通讯方案的不同

liuzhen007

5月日更

算法训练营 - 学习笔记 - 第四周

心在飞

把复杂留给自己,简单留给用户

石云升

5月日更

5分钟快速上手结构化思维方式

鲁米

方法论

ECMAScript 2019(ES10)新特性简介

程序那些事

JavaScript ecmascript nodejs 程序那些事

第八大洲环游记(一):平流层上的非洲故事

脑极体

【LeetCode】整数反转Java题解

Albert

算法 LeetCode 5月日更

五月,开篇

程序员架构进阶

个人提升 28天写作 5月日更 总结思考

什么是批判性思考及推理

sherlockq

一文入门Golang之文件操作【推荐收藏】

liuzhen007

文件 Go 语言 5月日更

3.5 Go语言从入门到精通:标准输入输出fmt包

xcbeyond

Go 语言 5月日更 fmt包

软件开发不同阶段的命名风格

顿晓

5月日更 命名 风格

别再傻傻分不清AVSx H.26x MPEG-x了

LoveYFan

音视频

模块三作业-消息队列系统架构设计文档

张大彪

机器学习 Machine Learning- 吴恩达Andrew Ng 第1~5课总结 John 易筋 ARTS 打卡 Week 46

John(易筋)

ARTS 打卡计划

区块链蕴含的变革力量

CECBC

区块链

区块链数字钱包——未来世界的银行卡

CECBC

区块链

几种讨论场景下的原则

sherlockq

自己在 InfoQ 平台的期冀——共同成长

liuzhen007

1 周年盛典

基于腾讯云Serverless部署游戏:合成大西瓜

一颗小树

#Serverless #python #腾讯云

最高学习效率:15.87%

石云升

学习 5月日更

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