2025 AI基础设施风向标,不看必后悔!#AI基础设施峰会 了解详情
写点什么

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

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

关注

评论

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

汇丰坠落:世间已无「日不落」

钛禾产业观察

汇丰 财经

读书时,如何提炼文章架构形成思维导图

dd多了个多

读书笔记 读书感悟

总结

chenzt

Kafka集群缩容实战

我是个bug

大数据 kafka 运维 Big Data

JVM 垃圾回收原理

周冬辉

作业1

chenzt

1.8w字 | 初中级前端 JavaScript 自测清单 - 2

Geek_z9ygea

Java 大前端

垃圾回收

Mr.Monkey

LeetCode题解:189. 旋转数组,3次翻转,JavaScript,详细注释

Lee Chen

大前端 LeetCode

写作社区划线笔记新功能全新上线!给你带来不一样的写作学习体验~

InfoQ写作社区官方

写作平台 玩转写作平台 热门活动

周子衡 | 数字资产、数字支付及跨境活动——以美元数字化为例

CECBC

加密货币 数字资产

VIPKID 在线教育场景下的实时计算技术落地和实践

Apache Flink

flink

《深度工作》学习笔记(4)

石云升

学习 读书笔记 习惯 专注 深度工作

百度安全研究院:区块链智能合约介绍

百度安全

比特币 区块链 智能合约 以太坊

一位区块链产品经理讲述“区块链”的通知 重点方向包括区块链安全

CECBC

物联网 区块链技术 联盟链

前端面试vue部分(1)——谈谈你对MVVM的理解

dd多了个多

面试 Vue 大前端 Web

消息队列面试热点一锅端

yes

kafka 面试 RocketMQ 消息队列

第九周总结

andy

湾区金科沙龙,华青融天技术总监吴伟平详解旁路式应用性能监控

DT极客

Java 垃圾回收

dongge

什么是零代码?零代码开发可以带来的好处

代码制造者

可视化 零代码 编程效率

前端面试 vue 部分 (2)——Vue是如何实现双向绑定的

dd多了个多

面试 Vue 大前端 Web

起伏激荡的以太网,抱上这条大腿才能乘风破浪

脑极体

秒杀系统的挑战和应对方案

2流程序员

我是如何写读书笔记的

dd多了个多

读书笔记

架构训练营第九周作业

张锐

第九周作业

andy

极客大学

读书,区分一二三四手知识

dd多了个多

读书笔记

应用开发基础知识-文件系统

superman

文件系统

大厂的人才衡量标准

池建强

人才标准

架构师训练营第9周

大丁💸💵💴💶🚀🐟

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