AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

AI时代的数据底座:火山引擎多模态数据湖的设计与实践

火山引擎开发者社区

AI口语练习APP的开发

北京木奇移动技术有限公司

软件外包公司 AI口语 AI口语练习APP

PB 级大数据新势力!Apache SeaTunnel 亮相 Cloudberry 杭州 Meetup(附报名)

Apache SeaTunnel

技术管理者,首先应该学会预期管理

老张

团队管理 职场成长

MySQL遇到AI:字节跳动开源 MySQL 虚拟索引 VIDEX

字节跳动开源

虚拟索引技术 解耦架构 可扩展接口 生产验证 多形态部署

普通电脑接入去中心化云算力,玩转3A游戏大作将触手可及

PowerVerse

区块链+ 算力 去中心化云算力

TiDB 可观测性解读(二)丨算子执行信息性能诊断案例分享

PingCAP

数据库 算子 TiDB

【开始报名啦】4 月 12 日 TiDB 社区活动在南京!传统技术栈替换和 AI 浪潮正当时,面向未来的国产数据库怎么选择?转发海报参与新款双肩包抽奖!

TiDB 社区干货传送门

2025长三角国际物联网展

AIOTE智博会

物联网展览会 物联网展会 物联网博览会 物联网展

Web3可能是为AI Agents(代理)构建的

PowerVerse

AGI #Web3 AI Agents

Java 开发中的 AI 黑科技:如何用 AI 工具自动生成 Spring Boot 项目脚手架?

飞算JavaAI开发助手

java spingboot #程序员

伟大的德比:皇家贝蒂斯与塞维利亚对阵史

新消费日报

秒级响应!淘宝商品列表 API 一键拉取全品类商品数据

tbapi

淘宝API 关键词搜索淘宝接口 淘宝商品列表接口 淘宝商品列表API

电商平台如何用"比价API"省下百万运营成本?实战经验揭秘

代码忍者

API接口平台

hahm哈姆 『全球运营总首码』一手高政策对接团队

web3区块链创业团队DappNetWork

HAHM哈姆|HAHM哈姆中国区运营中心首码|HAHM官网

web3区块链创业团队DappNetWork

订单支付系统难搞?AI 生成 Java 支付状态机代码 (含超时关单 + 回调校验)

飞算JavaAI开发助手

Apache SeaTunnel 用户征稿计划启动!分享数据集成实践经验,赢社区荣誉!

Apache SeaTunnel

国产化不是选择题,而是必答题

TiDB 社区干货传送门

Dify基于TiDB的数据架构重构实践

TiDB 社区干货传送门

做定时任务,一定要用这个神库!!

沉浸式趣谈

JavaScript node.js 定时

夏令时的坑:你的数据库真的能正确处理时间跳变吗?

TDengine

数据库 tdengine 时序数据库

MaxCompute MaxFrame正式推出AI Function功能,一键调用大模型处理海量数据!

阿里云大数据AI技术

大数据 MaxCompute Qwen DeepSeek AI Function

深度解析:通过 AIBrix 多节点部署 DeepSeek-R1 671B 模型

火山引擎开发者社区

AI口语练习APP的运营

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

告别数据难题:淘宝商品评论API带来高效解决方案

tbapi

淘宝API 淘宝商品评论采集 淘宝商品评论API 天猫商品评论API

无需公网IP聚水潭ERP远程调用仓库监控,贝锐花生壳只需简单3步

贝锐

内网穿透 ERP

YashanDB出席胶东CIO十周年峰会 自研数据管理方案驱动智造升级

极客天地

Fabric8 Kubernetes 教程——job、service、ingress、statefulSet、daemonSet

FunTester

告别手写 SQL!AI 工具如何自动生成 Java 数据库 ORM 代码?

飞算JavaAI开发助手

技术详解|DNS隧道及无监督异常检测

日志易

DNS隧道 日志易

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