打造自己的辅助工具,提高开发效率

本文涉及的知识是非常简单而又基础的,但是活用这些知识可以显著的提高您的开发效率,您还可以发挥创意扩展自己的开发工具。

1、基础知识点:

知识点1:可以在当前数据库直接访问master数据库中存储过程名称以sp_开始(且必须是以sp_开始)的存储过程。

说明:执行存储过程时,“如果过程名称的前三个字符为 sp_,SQL Server 会在 Master 数据库中寻找该过程。如果没能找到合法的过程名称,SQL Server 会寻找所有者名称为 dbo 的过程”(参见Sql Server联机帮助文档(索引“存储过程:执行”))。这实际上是在暗示我们用户自定义的存储过程名称最好不要用sp_开始,这样可以缩短(可能没有那么显著)存储过程时间。

知识点2:在开发过程中,常常要察看一个表中的数据,经常在查询分析器中重复的输入“select * from ”您是不是觉得很烦,至少我觉得很烦。其实我们可以将常用的语句在查询分析器中定义为一个快捷键(如图一),要执行时仅需按快捷就可以直接执行,省掉输入过程,少了输入的错误,是不是很爽?运用知识点1中的技巧,将常用语句写成一个存储过程(为什么要写成存储过程在后面详述)放master数据库中,就可以在任何数据库下调用您的常用语句了。

说明:当您按下快捷键执行命令时,查询分析器首先调用“sp_sproc_columns”存储过程,判断此快捷键对应的语句输入参数是什么,若sp_sproc_columns返回空结果集(非存储过程也会返回空结果集),则认为执行此语句不需要参数,直接执行此语句;若有结果集,则将查询分析器中选中部分作为参数传入并执行语句。所以,我们简单的要将“select * from”这类语句定义为快捷键命令都必须要定义为存储过程,否则无法接收传入参数。

图一、将常用语句定义为快捷键

2、看我抛砖:

结合实际工作,我写了四个常用存储过程,定义为快捷键,实现即时快速调用。

2.1、表结构显示

过程名:sp_tableframe

缘起:开发中我们严禁在数据窗口、视图、存储过程中存在“select *”和“insert into 表 values”这类不指明目标列的写法,但要逐个字段输入太烦易错;存储过程中常常存在从物理表形成临时表的需求,严谨的写法是“create table #临时表名”(select * into #临时表名 的写法可能会锁tempdb数据库,不建议使用),但create table 后的内容要逐个字段输入也是太烦易错;我们还常有要看表字段的中文注释、数据类型、默认值等内容的需求。

代码:(略)

结果集:(共有4个)

结果集一为表的概况;结果集二为表的列名、类型、主键、描述等属性;结果集三把表的列名按逗号分隔成字符串,使用时直接复制粘贴即可避免重复输入;结果集四和三类似,但带上了字段类型定义信息,可以复制出来用于创建临时表。

2.2、锁表进程查询

过程名:sp_ShowLock

缘起:当出现锁表时,我们急需要知道的是谁锁了谁,是在哪个语句上锁了,冲突的资源是什么。但Sql Server缺乏一个能满足我们要求的命令,得,自己写一个。

代码:(略)

结果集:(共有2个)

结果集一:被阻进程、被阻语句、阻进程、阻塞语句、等待时间、CPU时间、磁盘累计读写、登录时间、打开事务、状态、网卡地址

结果集二:锁定发生的数据库、锁定对象、类型、模式、状态

2.3、表空间使用统计查询

过程名:sp_tablespaceused

缘起:在上几十G的数据库中,我们可能关心数据库中哪个表最大,要知道每个表在数据库中空间占用的大致情况,此过程为解决此问题而做。

代码:(略)

结果集:(略)

2.4、形成数据字典

过程名:sp_MsDataDict

缘起:整理改善了原来的导出表结构的语句。

结果集:(略)

以上主要介绍了两个知识点,围绕这两个知识点讲了四个例子,希望能起到抛砖引玉的作用,对大家有所帮助。

打造自己的辅助工具,提高开发效率相关推荐

  1. 如何利用 Visual Studio 自带工具提高开发效率

    Visual Stuido 是一款强大的Windows 平台集成开发工具,你是否好好地利用了它呢? 显示行号 有些时候(比如错误定位)的时候,显示行号将有利于我们进行快速定位. 如何显示 1. 工具 ...

  2. 开发人员提高开发效率的10个推荐工具

    推荐10个能够提高开发人员开发效率的10个工具 腾讯云开发CloudBase 云开发(Tencent CloudBase,TCB): Cloud Base是腾讯云提供的云原生一体化开发环境和工具平台, ...

  3. IDEA工具开发必备设置-极大提高开发效率

    IDEA工具开发必备设置-极大提高开发效率 热部署设置 mybatis编写sql语句自动提示功能 自动清除无效 import 常用快捷键 全局UTF-8编码设置 最后 热部署设置 在开发中我们经常会修 ...

  4. 开发人员该选择什么大数据工具提高工作效率?

    开发人员该选择什么大数据工具提高工作效率? 海量数据使得数据分析工作变得繁重困难,开发人员选择合适的大数据工具来开发大数据系统成为新的挑战.因此开发人员要根据不同的数据处理方式对大数据工具进行分类. ...

  5. 【效率】Launchy一个提高开发效率的小工具

    这是一款可以提高开发效率的简单软件,小巧便利,虽然她并不会帮助你提高你的开发能力,但是可以提高你的开发效率,如果你不信就去用用她. 通过这个不太好使,但是不得不去用他的网站百度,如果你有更好用的搜索引 ...

  6. vscode php插件_JS之 提高开发效率的Visual Studio Code插件

    阅读本文约需要9分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了JS之 小技巧的知识,今天跟大家分享下JS之 提高开发效 ...

  7. 第三节:快速编译TypeScript,提高开发效率

    上一节我们成功把TypeScript 编译安装好了,接下来我们就看看编译器怎么用起来. 在写代码之前,我们先来选个开发工具,支持TypeScript 的IDE有很多,其中就包括了webstorm,VS ...

  8. Android Studio 2.0:速度提升,极大提高开发效率

    转至:http://android.jobbole.com/82127/ Android Studio 2.0:速度提升,极大提高开发效率 11月24日,在 Android Developer Sum ...

  9. IntelliJ Idea 常用10款插件(提高开发效率)

    转自:https://blog.csdn.net/weixin_41846320/article/details/82697818 Intellij IDEA 中一些很牛B 的插件:https://b ...

最新文章

  1. 滑动轮播图实现最后一张图片无缝衔接第一张图片
  2. 【转】商业内幕(Business Insider)网站近期评出了全美20家最具创新力的科技创业公司...
  3. 微信外卖小程序 怎么计算与客户的距离_微信小程序结合腾讯位置服务实现用户商家距离计算...
  4. 收集6 款 Java 8 自带工具,轻松分析定位 JVM 性能问题!
  5. ssl提高组周四备考赛【2018.10.18】
  6. asp.net后台管理系统-登陆模块-路由权限控制_1
  7. 无线充电手机 协议 c语言,这款无线充电器仅69元?支持Qi协议
  8. 小明历险记:规则引擎Drools教程详解
  9. 多线程获取豆瓣网页的网络爬虫(Python实现)
  10. python爬取豆瓣T250电影及保存excel(易上手)
  11. 【华人学者风采】蔡达成 新加坡国立大学
  12. Java面试题----基础
  13. oracle 实现等额本息,【oracle存储过程】实现生成等额本息的还款计划
  14. android蓝牙a2dp切换歌曲广播,Android蓝牙A2DP连接实现
  15. [机器学习] 衡量线性回归效果的评价指标: R-squared 和调整R方
  16. 华硕主板关闭Secure Boot步骤 :(支持b460/b560/b660主板)
  17. vue中后台管理登录后的token管理
  18. 用JS去掉IE窗口的标题栏,工具栏,地址栏
  19. TIA博途S7-1200中实现高低字节或高低字调换的几种方法介绍
  20. 利用RedisTemplate报错redis Invalid UTF-32 character 0x6a607661 (above 0x0010ffff) at char #8, byte #35)

热门文章

  1. 有多少种硬币组合,更优解法
  2. Springboot 一行代码实现文件上传 20个平台、少写代码到极致
  3. 国产开源项目的七宗罪
  4. Ubuntu 安装软件到一半被中断的解决办法 - Linux
  5. Windows系统Aero Peek无法勾选
  6. IPV4与IPV6共存问题
  7. 李开复给中国大学生的第二封信
  8. PyTorch-softmax,argmax,soft-argmax
  9. el-table 树形表格 自定义展开图标_换图标icon APP下载-换图标icon APP官方版 v3.01.0927...
  10. c++ explicit 与 隐式转换