写点什么

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

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

关注

评论

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

惠普中国(HPE)技术总监教你如何做个“火影般”的“架构师”

Java架构师迁哥

Java 程序员 架构

极客时间 - 架构师一期 - 第五周作业

_

极客大学架构师训练营 第五周

食堂就餐卡系统设计

Jack

架构设计

《我想进大厂》之Dubbo普普通通9问

艾小仙

Java dubbo RPC HTTP

世界上最难的5种编程语言

艾小仙

编程语言 编译 esolang

架构师训练营第一期 - 第五周课后 - 作业二

极客大学架构师训练营

极客大学架构师训练营2期第一周 作业

渡江卿

c++nullptr(空指针常量)、constexpr(常量表达式)

良知犹存

c++

架构训练营第一周学习总结

Jack

食堂就餐系统UML图

小兵

前端更应懂产品

执鸢者

产品 腾讯 大前端

架构师训练营第 1 期第五周总结

Leo乐

极客大学架构师训练营

架构师训练营第五周作业

吴传禹

极客大学架构师训练营

科大讯飞开发者大赛:首届X光安检图像识别挑战赛结果出炉

Talk A.I.

《我想进大厂》之JVM夺命连环10问

艾小仙

Java 编程语言 JVM jvm调优

架构师训练营1期第5周作业--一致性哈希算法

木头发芽

区块链技术本质再认知

CECBC

区块链 大数据

政府和企业如何认识到区块链的好处

CECBC

比特币 区块链

知识视频创作者何去何从,百度给出解答

脑极体

化身“监工”的AI,我们该如何相处?

脑极体

甲方日常 37

句子

工作 随笔杂谈 日常

架构师训练营第一周学习总结

韩儿

架构师训练营第一周总结

小兵

第一周学习总结

Griffenliu

架构师训练营第一期 - 第周五课后 - 作业一

极客大学架构师训练营

成为架构师 - 架构师训练营第01周

陈永龙Vincent

这本书可能是给用户最好的礼物——专栏《软件交付那些事儿》上线

刘华Kenneth

架构师训练营 - 第一周学习总结

joshuamai

数字货币可能重构全球货币体系

CECBC

数字货币 金融

第五周总结

_

架构师一期 架构师第五周总结

什么! 你还在使用 if (xxx != null)做NullPointerException判断?

刘超

Java Optional

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