速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

2 期架构师训练营 - 第十一周作业与总结

云飞扬

架构师训练营第2期

产品 0 期 - 第四/五周作业

Jxin

大作业一:

未来已来

协会组织如何实现数字化落地应用?

boshi

数字化转型 七日更

架构内容

梧桐

「架构师训练营 4 期」 第六周 - 001&2

凯迪

架构师训练营 4 期

2 期架构师训练营 - 第十三周作业与总结

云飞扬

架构师训练营第2期

第十一周课后练习

Binary

大作业(二)-知识点

hunk

架构师训练营第2期

白话Mysql的锁和事务隔离级别!死锁、间隙锁你都知道吗?

Java鱼仔

MySQL 高可用

MyBatis专栏 - 二级缓存

小马哥

Java mybatis 七日更 2月春节不断更

快递架构设计

梧桐

2 期架构师训练营 - 第十二周作业与总结

云飞扬

架构师训练营第2期

第十三周-总结

jizhi7

week11 作业

zbest

物流系统抢单简单设计

DL

产品经理训练营--第四周作业

月亮 😝

大作业二

jizhi7

与前端训练营的日子 -- Week15

SamGo

学习

数组与链表学习总结

Nick

数组 链表 数据结构与算法

大作业一

jizhi7

第十二周总结

jizhi7

2 期架构师训练营 - 第十周作业与总结

云飞扬

架构师训练营第2期

iOS中MVC、MVP、MVVM、VIPER等技术框架的选型与实践

行者

架构设计 Architecture

第四章作业

Kalman

产品经理 产品经理训练营

第十周作业总结

jizhi7

第11周学习总结

Binary

架构师训练营 4 期 第6周

引花眠

架构师训练营 4 期

第四章学习总结

Kalman

产品经理 产品经理训练

怀乡恋土的人们

熊斌

学习 2月春节不断更

第十一周 - 总结

jizhi7

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