写点什么

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

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

关注

评论

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

凭借这5步,我30分钟学会了Python爬虫!

Jackpop

爬虫 爬虫教程

架构实战营模块8 课后作业

En wei

架构实战营

魔方、齿轮、融合剂:当新ICT技术邂逅教育产业

脑极体

十二张图,一脚踹开消息队列的大门

三分恶

消息队列

IntelliJ IDEA必备7款Python插件

Jackpop

IDEA pycharm

Linux之find exec

入门小站

Linux

如何看待技术采用生命周期 | 【话题讨论】

耳东@Erdong

云原生 话题讨论 7月日更

在线base64加密解密工具

入门小站

工具

Vue3 + TypeScript 开发实践总结

程序员海军

typescript 大前端 Vue3 框架

测试开发之网络篇-常用命令

禅道项目管理

Linux 命令行

妇与术(三):机器人可以没有性别,但关系技术离不开女性

脑极体

Rust从0到1-智能指针-Drop trait

rust smart pointer drop trait

与微软、IBM同台 斯图飞腾Stratifyd入选G2文本分析Grid报告

React 18探秘(上)

Teobler

大前端 React

🏆 【JVM 性能调优】「对象内存分配」输出常用参数

码界西柚

JVM 7月日更

见康乘拼团软件开发|见康乘拼团系统APP开发

多地“真金白银”力撑区块链,中西部欲弯道超车新赛道

CECBC

公司内部使用的数仓命名规范

白贺BaiHe

大数据 数仓 数仓规范 7月日更

为啥Java应用迁移到容器后会出现OOM?

Java架构师迁哥

腾讯一面 Java Phaser 并发编程的理解与应用

陈皮的JavaLib

Java 面试 多线程

就在今天,浪潮云说第二期来啦

云计算

【Flutter 专题】92 图解 Dart 单线程实现异步处理之 Isolate (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

深入理解搜索引擎——初识query理解

药老算法

搜索引擎 中文分词 query理解 query纠错 query分析

什么是数据集市

奔向架构师

数据仓库 数据架构 7月日更

2020年的焦虑与忧伤

Emotion

疫情 考研 研究生

领域驱动设计101 - 聚合

luojiahu

领域驱动设计 DDD

【LeetCode】主要元素Java题解

Albert

算法 LeetCode 7月日更

图的应用——关键路径

若尘

数据结构

区块链时代下,企业如何打造数据要素的“新竞争力”?

CECBC

Python利器!Jupyter最大威胁终于来了

Jackpop

Python Jupyter Notebook

Spring到底应该学哪些内容?

冰河

spring aop ioc 注解驱动 依赖反转

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