发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
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进行处理和回复如何?
来自: 昵称10504424 > 《SqlServer》
0条评论
发表
请遵守用户 评论公约
将sql server2000的备份数据还原到sql server 2008中
将sql server2000的备份数据还原到sql server 2008中。3、添加Sql Server 2000的数据库备份文件(此处的备份文件必须已经添加好后缀名)...
关于SQL SERVER高并发访问的解决办法 | 学步园
关于SQL SERVER高并发访问的解决办法 | 学步园。问题:后台系统需要连接SQL SERVER,瞬时数据操作可能会很大,如同时有好几万数据要插入数据库,但在插入数据的同时另外的线程可能还要访问本数据库,插...
将SQL Server 2005数据迁移到SQL 2000数据库中
本文介绍将SQL Server2005数据库还原或恢复到SQL Server2000数据库中的方法。本文介绍将SQL Server 2005数据库还原或恢复到SQL Server20...
SQL SERVER 2005数据导入图文教程
SQL SERVER 2005数据导入图文教程。今天要介绍的是怎么使用Microsoft SQL Server Management Studio导入数据。Microsoft SQL Server Man...
一条语法就解决啦Excel数据批量导入Sql Server数据库
一条语法就解决啦Excel数据批量导入Sql Server数据库。
sql server导入excel等数据
sql server导入excel等数据。4.在弹出的窗口中选择数据源,也就是从哪种文件导入,sql server支持多种格式的导入,这里选择excel,并点...
数据库作业一 ------ SQL Server 安装与简单使用
数据库作业一 ------ SQL Server 安装与简单使用。SQL Server安装好了之后,先打开Sql Server Configuration Manager,右键启动SQL Serve...
R语言如何连接 SQL Server 2016之前的数据库并使用此连接?
【转帖】数据迁移之Kettle的使用小结
【转帖】数据迁移之Kettle的使用小结场景。Kettle的使用(基础)对于Kettle的配置需要有一个数据库,Kettle的数据库负责存储Kettle自身...
微信扫码,在手机上查看选中内容