【AICon】硅谷视野+中国实践,汇聚全球顶尖技术的 AI 科技盛会 >>> 了解详情
写点什么

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

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

关注

评论

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

软件测试 | Selenium测试用例编写

测吧(北京)科技有限公司

测试

软件测试 | Selenium对多浏览器处理

测吧(北京)科技有限公司

测试

ChatGPT类AI软件供应链的安全及合规风险

墨菲安全

代码安全检测 墨菲安全 软件供应链安全 ChatGPT

软件测试 | Selenium IDE用例录制

测吧(北京)科技有限公司

测试

百度前端必会手写面试题整理

helloworld1024fd

JavaScript

手写JavaScript常见5种设计模式

helloworld1024fd

JavaScript

ChatGPT 下一步,分配对象脱单有望

融云 RongCloud

软件测试 | Web控件的交互进阶

测吧(北京)科技有限公司

测试

软件测试 | 文件上传与弹窗处理

测吧(北京)科技有限公司

测试

软件测试 | 什么是PageObject设计模式

测吧(北京)科技有限公司

测试

关于我在学习LFU的时候,在开源项目捡了个漏这件事

why技术

Java 面试 算法

AntDB-M设计之内存结构

亚信AntDB数据库

AntDB aisware antdb AntDB数据库 企业号 2 月 PK 榜

测试进阶之路—新手关于测试碎碎念篇

京东科技开发者

测试 经验分享 分析 效能 企业号 2 月 PK 榜

React源码分析(一)Fiber

goClient1992

React

看透react源码之感受react的进化

goClient1992

React

细说react源码中的合成事件

flyzz177

React

开心档-软件开发入门之Bootstrap4 图像形状

雪奈椰子

bootstrap 开心档

软件测试 | 执行JavaScript脚本

测吧(北京)科技有限公司

测试

手写现代前端框架diff算法-前端面试进阶

helloworld1024fd

JavaScript

试试 MyBatis 流式查询,很强!!!

Steven

深度使用国产Bg-Tinkle数据库客户端—太赞了,居然还集成chatGPT AI生成SQL

非喵鱼

Java MySQL 数据库 国产软件 Tinkle

React-Hooks源码深度解读

goClient1992

React

中国计算机设计大赛来啦!用飞桨驱动智慧救援机器狗

飞桨PaddlePaddle

深度学习 paddle 大赛

软件测试 | Web控件定位与常见操作

测吧(北京)科技有限公司

测试

软件测试 | 网页frame与多窗口处理

测吧(北京)科技有限公司

测试

深入react源码看setState究竟做了什么?

flyzz177

React

Redis分布式锁正确打开方式

京东科技开发者

数据库 redis JVM 分布式锁 企业号 2 月 PK 榜

软件测试 | 隐式等待、显示等待和强制等待

测吧(北京)科技有限公司

测试

融云入围「2022 云办公平台 TOP50」,进入「中国协同办公产业图谱」

融云 RongCloud

升级到JDK17和Spring Boot 2.7.8

xiaoboey

Spring Cloud Spring Boot

软件测试 | Selenium 安装

测吧(北京)科技有限公司

测试

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