立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

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

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

关注

评论

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

敢闯技术无人区 TCL实业斩获多项AWE 2024艾普兰奖

Geek_2d6073

SketchUp Pro2023中文集成破解版【含草图大师2023序列号和验证码】

Rose

ibatis与mybatis的区别

百度搜索:蓝易云

Java Linux 运维 mybatis iBatis

Waves12破解版安装教程 Mac版全套音频效果处理工具 支持M1/M2

Rose

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

福大大架构师每日一题

福大大架构师每日一题

精美和令人震撼的3D动态桌面壁纸Mach Desktop 4K for Mac

Rose

path finder for mac 激活码 最好用的文件管理浏览器

Rose

阿里巴巴面试经验!Java高级面试指南手册程序员必备系列

阿里、莫言

Java java面试 金三银四

Github每日热榜2024.03.16

天马行空的大杂烩

GitHub 程序员 码农 开源软件

共享盘迁移记录robocopy常用参数mklink

百度搜索:蓝易云

Linux 运维 windows robocopy mklink

未来经济世界里,理想的财务规划与分析团队

智达方通

全面预算管理 企业规划

SQL注入攻击有什么解决办法

德迅云安全杨德俊

玩转数据-Python数据采集的方法-淘宝商品详情接口

技术冰糖葫芦

API 接口

Python里for循环要遍历的数据很多很大怎么办?

算法的秘密

解开命运之"结",重拾现实自由——《1Q84》中的奇幻现实与人生哲学

少油少糖八分饱

读书笔记 命运 村上春树 小说推荐 1Q84

散热利器来袭,TG Pro for Mac让你告别Mac过热问题!

Rose

ACCDB MDB Explorer for mac 专业的MDB和ACCDB数据库查看器

Rose

《代码整洁之道》PDF

程序员李木子

CAD如何与EXCEL数据关联

Geek_2d6073

华为云网站高可用解决方案引爆华为云开年采购季:助力多场景下业务高可用、数据高可靠

轶天下事

Kubernetes反模式避坑指南

俞凡

Kubernetes 最佳实践

WorkPlus行政单位内部即时通讯软件的最佳解决方案

WorkPlus

如何让 iPhone 无线投屏到 Mac 上呢?airserver mac专业投屏工具

Rose

网络安全知识点总结

知孤云出岫

网络安全

如何追踪discord.js中删除消息的用户?

百度搜索:蓝易云

Linux 运维 云服务器 Discord.js messageDelete

深入学习 XML 解析器及 DOM 操作技术

小万哥

xml 程序人生 编程语言 软件工程 前端开发

WorkPlus Meet局域网视频会议软件的领先解决方案

WorkPlus

兼容m1 Lightroom Classic 2021 for mac(lr 2021 中文大师版)

Rose

电源常用电路:采样电路

梦笔生花

驱动 ADC采样 电源

WorkPlus领先的IM厂家,为企业提供高质量的沟通解决方案

WorkPlus

【线上问题】记一次公司日志基础组件SPI使用不当导致业务中断

Disaster

bug java 并发

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