kri*_*tof 42 t-sql sql-server optimization keyboard-shortcuts
我曾经在一个常见做法是使用Pair Programming的地方工作.我记得在共同编写代码时我们可以相互学习多少小事.随着时间的推移,提取新的快捷方式,代码片段等,显着提高了编写代码的效率.
自从我开始使用SQL Server以来,我一直独自离开.我通常会选择与其他人合作的最佳习惯,这是我现在无法做到的.
所以这是一个问题:
编辑:
我担心你可能会被你们中的一些人误解.我不是在寻找有关编写高效TSQL代码的技巧,而是寻求有关如何有效使用Management Studio来加快编码过程本身的建议.
我正在寻找的答案类型是:
基本上那些使编码体验更有效和愉快的小东西.
Gal*_*ian 27
看看Red Gate的SQL提示 - 这是一个很棒的产品(和Red Gate的大部分贡献一样)
SQL Inform也是一个很好的免费(在线)工具,用于格式化有时失控的长程序.
除此之外,我从痛苦的经历中学到了在任何 DELETE 陈述 之前用a表达是一件好事BEGIN TRANSACTION.一旦你确定你的陈述只删除它应该的东西,你就可以COMMIT.
在很多场合救了我;-)
kri*_*tof 24
社区拥有的wiki答案 - 随时编辑或添加评论:
键盘快捷键
编辑快捷方式
插件
其他提示
有用的链接
Cad*_*oux 19
SQL提示符为+1.
我认为我从未见过的非常简单的东西 - 它几乎适用于任何SQL环境(甚至其他语言):
经过12年的SQL编码,我最近在一些SSMS生成的代码中看到它后转换为逗号前缀样式,我发现它非常有效.我很惊讶以前从未见过这种风格,特别是因为它极大地提高了我的生产力.
SELECT
t.a
,t.b
,t.c
,t.d
FROM t
Run Code Online (Sandbox Code Playgroud)
它可以很容易地编辑选择列表,参数列表,按列表排序,逐个列表等.我发现我花了很少的时间在剪切后添加和删除列表末尾的逗号和粘贴操作 - 我想它更容易实现,因为你几乎总是在最后添加东西,并使用后缀逗号,这需要你更多地移动光标.
尝试一下,你会感到惊讶 - 我知道我是.
HLG*_*GEM 13
我最喜欢的快速提示是,当您在对象资源管理器中展开表名时,只需将单词colums拖到查询屏幕,就会将表中所有列的列表放入查询中.更容易删除你不想要的那些,而不是键入你想要的那些,这很容易,它会阻止人们使用真正糟糕的select*语法.它可以防止错别字.当然,您也可以单独拖动列.
尝试始终使用最小的数据类型,并索引查询中最常用的所有字段.
尽量避免使用服务器端游标.始终坚持使用"基于集合的方法"而不是"程序方法"来访问和操作数据.通常可以通过使用SELECT语句来避免游标.
始终使用查询分析器或SHOWPLAN_TEXT或SHOWPLAN_ALL命令中的图形执行计划来分析查询.确保您的查询执行"索引搜索"而不是"索引扫描"或"表扫描".表扫描或索引扫描是一件非常糟糕的事情,应该尽可能避免.在右列中选择正确的索引.使用更易读的ANSI-Standard Join子句而不是旧式连接.使用ANSI连接时,WHERE子句仅用于过滤数据.与旧样式连接一样,WHERE子句处理连接条件和过滤数据.
不要让您的前端应用程序使用SELECT或INSERT/UPDATE/DELETE语句直接查询/操作数据.而是创建存储过程,并让您的应用程序访问这些存储过程.这使数据访问在应用程序的所有模块中保持干净和一致,同时在数据库中集中业务逻辑.
说到存储过程,不要在存储过程名称前加上"sp_".前缀sp_保留给SQL Server附带的系统存储过程.每当SQL Server遇到以sp_开头的过程名称时,它首先尝试在master数据库中找到该过程,然后查找提供的任何限定符(数据库,所有者),然后尝试dbo作为所有者.因此,您可以通过避免使用"sp_"前缀来节省定位存储过程的时间.
尽可能避免使用动态SQL语句.动态SQL往往比静态SQL慢,因为SQL Server每次都必须在运行时生成执行计划.
如果可能,请尝试使用集成身份验证.这意味着,忘记sa和其他SQL用户,使用microsoft用户配置infra-structure并始终保持SQL服务器,使用所有必需的补丁.Microsoft在开发,测试和发布补丁方面做得很好,但是应用它是你的工作.
在amazon.com上搜索有关它的好评如潮的书籍并购买!
键盘加速器.一旦你弄清楚你写了很多类型的查询,编写实用程序存储过程来自动执行任务,并将它们映射到键盘快捷键.例如,本文讨论了每次想要快速查看该表中的示例数据时如何避免键入"从SomeBigTable中选择前10*".我有一个扩展版本的程序,映射到CTRL+ 5.
还有一些我有:
......还有一些现在还没想到的.其中一些可以通过SSMS中的现有接口来完成,但是SSMS的窗口和小部件加载速度有点慢,尤其是当您通过互联网查询服务器时,我更喜欢不用手拿起我的手键盘无论如何.
| 归档时间: |
|
| 查看次数: |
102140 次 |
| 最近记录: |