2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

Python应用之基础结构:链表- 删除排序链表中的重复元素

芯动大师

10月月更 链表结构 基本元素

40道Promise输出题,你都会了吗?🔥

CoderBin

面试 前端 JavaScrip 10月月更

【算法作业】实验二:给立方体排序的小明&&同时整除的数

清风莫追

数据结构 算法 10月月更

跟着卷卷龙一起学Camera--ISO

卷卷龙

ISP camera 10月月更

Spring Boot「01」构建 REST API

Samson

Java Spring Boot Web 学习笔记 10月月更

大数据ELK(十八):Beats 简单介绍和FileBeat工作原理

Lansonli

10月月更 大数据ELK

Python进阶(七)浅谈python3和Python2的区别

No Silver Bullet

Python3 区别 10月月更 Python2

分布式定时任务设计及其框架

穿过生命散发芬芳

10月月更 分布式定时任务

Photoshop软件应用项目(二)

张立梵

设计师 ps 10月月更

Python进阶(五)浅谈python匿名函数及编写无参数decorator

No Silver Bullet

Python 10月月更 匿名函数 无参数decorator

hashmap常见面试题

普罗米修斯

10月月更

C++ | 关于extern关键字的使用

YOLO.

qt 10月月更 C++

数据结构线性表链表

IC00

c 链表 数据结构算法 10月月更 链表结构

【算法作业】实验四:逆波兰表达式求值 & Fibonacci数列的尾递归与非递归程序

清风莫追

数据结构 算法 10月月更

10项任务助你落地架构课程!

华仔

架构实战营

2022 年适用于 Linux 和 Windows 的五款最佳 Python 代码编辑器

wljslmz

Python ide 编辑器 10月月更

【算法作业】实验三:划分集合-贪心 & 可能的IP地址-回溯

清风莫追

数据结构 算法 10月月更

【Java深入学习】join再理解

Geek_65222d

10月月更

业务流程巡检拨测常用的开源工具

阿泽🧸

10月月更 业务流程

AI大模型的白垩纪

脑极体

MFC|CCombobox控件修改编辑框光标显示位置

中国好公民st

c c++ 10月月更

Qt | 实现自定义手机号输入框控件

YOLO.

qt 10月月更 C++

LinkedList源码分析(二)

知识浅谈

linkedlist 10月月更

IDEA的Docker插件实战(Dockerfile篇)

程序员欣宸

Docker IDEA 10月月更

Python应用之基础结构-链表-合并两个有序链表

芯动大师

链表 10月月更 合并有序

2022-10-08:以下go语言代码输出什么?A、0 0;B、0 4;C:4 0;D:4 4。 package main const s = “Go101.org“ // len(s) == 9

福大大架构师每日一题

golang 福大大 选择题

Python应用之基础结构:二叉树 前序遍历

芯动大师

二叉树 遍历 10月月更

斐波那契数

掘金安东尼

算法 10月月更

【C语言内功修炼】动态内存管理的奥秘

Albert Edison

C语言 malloc 动态内存 10月月更 free

Vue常用修饰符大全

CoderBin

面试 Vue 前端 10月月更

【Java深入学习】可见性

Geek_65222d

10月月更

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