热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

BrentOzar谈如何提高SQLServer的生产力

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

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

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进行处理和回复如何?

推荐阅读
  • 帝国cms各数据表有什么用
    CMS教程|帝国CMS帝国cmsCMS教程-帝国CMS精易编程助手源码,ubuntu桥接设置,500错误是tomcat吗,爬虫c原理,php会话包括什么,营销seo关键词优化一般多 ... [详细]
  • 本文介绍了多种Eclipse插件,包括XML Schema Infoset Model (XSD)、Graphical Editing Framework (GEF)、Eclipse Modeling Framework (EMF)等,涵盖了从Web开发到图形界面编辑的多个方面。 ... [详细]
  • 深入浅出:Hadoop架构详解
    Hadoop作为大数据处理的核心技术,包含了一系列组件如HDFS(分布式文件系统)、YARN(资源管理框架)和MapReduce(并行计算模型)。本文将通过实例解析Hadoop的工作原理及其优势。 ... [详细]
  • 对于初次购买阿里云服务器的新手用户来说,如何高效地利用服务器资源并成功部署网站是一个重要的课题。本文将详细指导您完成从购买服务器到网站上线的六个关键步骤。 ... [详细]
  • 本文详细介绍了在 Windows 7 上安装和配置 PHP 5.4 的 Memcached 分布式缓存系统的方法,旨在减少数据库的频繁访问,提高应用程序的响应速度。 ... [详细]
  • 深入解析轻量级数据库 SQL Server Express LocalDB
    本文详细介绍了 SQL Server Express LocalDB,这是一种轻量级的本地 T-SQL 数据库解决方案,特别适合开发环境使用。文章还探讨了 LocalDB 与其他轻量级数据库的对比,并提供了安装和连接 LocalDB 的步骤。 ... [详细]
  • 本文详细探讨了 HAProxy 的基本概念及其与 LVS(Linux Virtual Server)的比较,特别是在内核空间与用户空间的工作差异。文章还深入介绍了 HAProxy 独有的数据结构——弹性二叉树,以及其在高并发场景下的表现。 ... [详细]
  • FTP作为一种传统的文件传输协议,广泛用于不同设备间的文件交换。然而,随着网络安全需求的提升及传输效率的要求,选择合适的FTP客户端变得尤为重要。本文将介绍如何利用WinSCP这款强大且安全的工具,实现两台电脑之间的文件高效传输。 ... [详细]
  • 集群与负载均衡技术解析
    本文探讨了集群(Cluster)的概念,即通过网络连接的一组计算机系统,它们作为一个整体提供服务,实现分布式计算。文章还详细介绍了负载均衡技术,旨在提高网络服务的效率和可靠性。 ... [详细]
  • 本文详细解析了Java中流的概念,特别是OutputStream和InputStream的区别,并通过实际案例介绍了如何实现Java对象的序列化。文章不仅解释了流的基本概念,还探讨了序列化的重要性和具体实现步骤。 ... [详细]
  • 本书《Pro Git》深入探讨了 Git 版本控制系统的核心概念与高级功能,旨在帮助开发者和团队有效管理代码变更。通过实例和最佳实践,读者将学习如何利用 Git 提升工作效率。 ... [详细]
  • 探讨了生成时间敏感的一次性伪随机密码的方法,旨在通过加入时间因素防止重放攻击。 ... [详细]
  • 惠普战86 Pro G2:新一代商用台式机的性能与设计解析
    惠普战86 Pro G2台式机以其卓越的性能和紧凑的设计,满足了现代商务环境的需求。本文将详细介绍这款商用台式机的各项特点,包括其强大的硬件配置、精美的外观设计以及出色的稳定性和安全性。 ... [详细]
  • Redis中的字符串对象解析
    Redis中字符串对象的编码方式包括int、raw和embstr。当字符串对象存储的是可由long类型表示的整数时,该值会被直接存储在对象的ptr属性中,此时对象的编码被设为int。 ... [详细]
  • 本文介绍了如何使用C# Winform开发局域网内的文件传输功能,详细描述了从用户界面到后端网络通信的具体实现。 ... [详细]
author-avatar
听天由命____497
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有