大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

Brent Ozar 谈如何提高 SQL Server 的生产力

  • 2013-03-04
  • 本文字数:916 字

    阅读完需:约 3 分钟

SQL Server 顾问 Brent Ozar 最近发表了一篇文章,谈到了每个 SQL Server 开发者在他们日常的编程任务中应该遵循的七种技术。按照 Brent 的说法,开发者应该尽量避免使用 ORDER BY 语句,他还建议开发者将所有查询结果放入应用程序内存中再进行排序。

如果数据库要执行数据处理、排序、加载及缓存等任务,理想情况下每项任务应该使用一个独立的数据库。Brent 建议这些数据库使用简单恢复模式,而且每天进行一次备份。

他同时建议开发者应有效地利用动态管理视图(DMV),还建议对于应用程序中的不同场景,如数据读写、5 至15 分钟前的老数据以及昨天之前的老数据,应该使用3 种不同的连接字符串来建立连接。按照Brent 的说法,第一种连接字符串的使用场景不易伸缩,因为我们在SQL Server 中并没有多少办法将负载横向扩展到处理写入的多台服务器上。

“对应用来说,已提交读快照隔离(Read-Committed Snapshot Isolation)是比 With(Nolock) 更好的选择,因为少了很多阻塞的麻烦,同时提供了一致的数据”,Brent 说道。

按照 Brent 所说,你不应该再去参考老版本的书和在线文档,因为它们不会定期更新。“当看到某个听着不错的建议时,我喜欢采取‘质疑 Phil 博士’(译注:Dr.Phil 是美国的一档电视秀,一些观众对主持人的生活观念持有不同意见)这样的策略”,Brent 说道。

最后 Brent 还建议,如果想重用代码,那么最好用存储过程视图代替函数。他认为函数对数据库层的性能有很大影响。

不过,有些开发者并不同意Brent 的建议。

Tyler Burd 说道:

我不同意无节制地采用第 2 条意见(即“避免 ORDER BY,而是在应用程序中排序”)。

Brent 对 Tyler 的评论回应道:

为什么不把整个数据集加载到应用程序中并缓存下来呢?

还有个别开发者留言,反对 Brent 所说的避免函数而使用视图和存储过程的观点。

你是支持还是反对 Brent 的技巧和建议呢?请在此留言,InfoQ 保证将其发给 Brent 进行处理和回复如何?

查看英文原文 Brent Ozar on Improving Productivity with SQL Server


感谢臧秀涛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-03-04 06:571743
用户头像

发布了 428 篇内容, 共 198.3 次阅读, 收获喜欢 39 次。

关注

评论

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

Swish for Mac触控板增强工具: 重新定义触控板操作

Rose

swish激活函数 Swish mac Mac触控板增强工具 mac破解软件下载

idc服务器是什么意思?

Geek_f19a80

服务器

一种LED驱动专用控制电路

芯动大师

干货丨5G+智慧工厂解决方案(附PPT)

工赋开发者社区

代码审核员要被 ChatGPT 干掉了?

极狐GitLab

DevOps MR openai ChatGPT

深度盘点!10款最实用的组织架构图制作软件,你用过几款?

职场工具箱

软件推荐 组织架构图

3DCAT为华东师大设计学院打造元宇宙数字虚拟学院

3DCAT实时渲染

元宇宙 实时云渲染 元宇宙解决方案

和鲸ModelWhale平台与海光人工智能加速卡系列完成适配认证,夯实 AI 应用核心底座

ModelWhale

gpu 信创 算力 数据科学 海光

CADintosh X v8.8.6 2D CAD 程序 兼容 M1/M2 安装 mac 计算机辅助设计软件

Rose

mac软件下载 cad CADintosh X 8 二维CAD

IntelliJ IDEA 遇到 JavaLaunchHelper 多种实现的解决方法

Rose

IntelliJ IDEA 2023破解 IntelliJ IDEA 2023最新 IntelliJ IDEA报错

首届教师案例教学竞赛一等奖作品上线至和鲸社区,快来学习! Jing Nov 26, 2023 需 12 分钟阅读

ModelWhale

人才培养 数据科学 教学创新 中国商业统计学会 教学竞赛

必读文章1-你尽力了吗

玄兴梦影

必读文章2-如何度过职场新兵期

玄兴梦影

OneCode 在线IDE停止运营

codebee

从错误中学习: 了解Go编程的6个坏习惯

俞凡

golang 最佳实践

Chat AI教你如何追求富婆

Geek_ccdd7f

ChatGPT ChatGPT4

有没有类似HyperDock一样好用的窗口管理软件?

Rose

mac软件下载 苹果窗口管理软件 mac窗口增强工具 窗口整理工具合集

文心一言 VS 讯飞星火 VS chatgpt (143)-- 算法导论12.1 3题

福大大架构师每日一题

福大大架构师每日一题

学习笔记:如何做成一件事

老张

个人成长 学习笔记 做事

44页案例 | 数字化工厂解决方案助力中国制造2025

工赋开发者社区

多种 React 组件通信方式实践

南城FE

JavaScript 前端 React

Java项目启动时先加载某些方法可用于redis缓存预热

javaNice

Java

Walrus 0.4发布:单一配置、多态运行,体验下一代应用交付模型

SEAL安全

应用交付 运维工具 Walrus 企业号11月PK榜

淘宝商品信息的API接口获取方式是什么?

技术冰糖葫芦

API 文档

SQL JOIN 子句:合并多个表中相关行的完整指南

小万哥

MySQL 数据库 程序员 sql 后端开发

使用 Java 客户端通过 HTTPS 连接到 Easysearch

极限实验室

Java https easysearch

Python笔记一之excel的读取

Hunter熊

Python Excel xlsxwriter Python xlrd

Tech Lead 要学会戴着镣铐跳舞

光毅

团队管理

Sensei for Mac 苹果电脑 系统性能优化及清理工具

Rose

mac系统清理优化软件 Sensei破解版 Sensei中文版 Sensei Mac下载 破解软件

Brent Ozar谈如何提高SQL Server的生产力_语言 & 开发_Anand Narayanaswamy_InfoQ精选文章