写点什么

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

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

关注

评论

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

GO训练营第2周总结

Glowry

华为工程师又爆一份“架构师宝典”,价值百万薪“史诗级”操作系统,送你备战金三银四要不要?

编程 程序员 计算机网络 操作系统

冰河教你一次性成功安装K8S集群(基于一主两从模式)

冰河

Docker 云原生 k8s

《穿越数据的迷宫》笔记:中文版序二

方志

数据治理

AnyRTC --- Flutter 实现视频通话

anyRTC开发者

flutter 音视频 WebRTC 跨平台 sdk

线程池 ForkJoinPool 简介

Java老k

Java 线程池 forkjoinpool 工作窃取

算力 | 手写红黑树

九叔(高翔龙)

数据结构 算法 二叉树 红黑树

Spring 源码学习 04:初始化容器与 DefaultListableBeanFactory

程序员小航

spring 源码 源码阅读

Appium之测试微信小程序

清菡软件测试

App

整天都在讨论使用SpringBoot,可你居然连缓存都不清楚

小Q

Java 缓存 学习 面试 springboot

有奖讨论|作为程序员,女朋友是怎么吐槽你的?

Simon郎

女朋友 话题讨论

深度剖析github star数15.1k的开源项目redux-thunk

徐小夕

Java GitHub 大前端 React

数据结构与算法系列之跳表(GO)

书旅

数据结构 算法 Go 语言

创业项目快速分析框架

boshi

创业 商业

修炼码德系列:简化条件表达式

Silently9527

Java 经验分享 代码重构 代码规范

EXCEL、图片处理常用技巧

jiangling500

Excel 图片处理

Linux常用命令速查

jiangling500

linux命令

Forsage智能合约系统APP开发|Forsage智能合约软件开发(现成)

系统开发 现成系统

高速公路二维码定位报警系统搭建解决方案

t13823115967

高速公路二维码定位报警 智慧公安

《穿越数据的迷宫》笔记:第1章 数据管理的重要性

方志

数据治理

智能新时代 安全新未来 首届国网北京电力人工智能数据竞赛正式启动

极客播报

深入浅出 Go - sync.Pool 源码分析

helbing

Go 语言

甲方日常 61

句子

工作 随笔杂谈 日常

为什么边缘计算将终止云计算?

VoltDB

数据库 云计算 数据分析 边缘计算

漫画:什么是 “智能供应链” ?

京东科技开发者

云计算 供应链 智能供应链

360OS张焰:AI视觉在教育中的应用

ZEGO即构

关于Mysql常用数据类型的小抄

xzy

MySQL

架构第十一周作业

Nick~毓

《华为数据之道》读书笔记:第 10 章 未来已来:数据成为企业核心竞争力

方志

数字化转型 数据治理

Gradle doesn't run because it can't find tools.jar in JRE

mengxn

kotlin Gradle

区块链落地开发,区块链版权应用搭建

t13823115967

区块链+ 区块链落地开发 区块链版权应用搭建

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