SQL SERVER 从嫌弃存储到爱上存储过程我给存储过程开发了版本控制工具和远程调试功能...
优缺点
SQL SERVER 爱上存储过程我给存储过程开发了版本控制工具和远程调试功能
先说说 存储过程的优缺点吧存储过程的优点
提高执行效率:存储过程是预编译的,执行速度较快,减少了网络传输量。
减少开发工作量:存储过程可以将复杂的数据库操作封装起来,重复使用,减少开发工作量。
增强安全性:可以通过设置权限来控制谁可以执行存储过程,提高数据的安全性。
良好的封装性:存储过程可以将多个SQL语句封装成一个模块,减少网络传输量,简化数据库操作。
一致性:存储过程可以确保数据操作的一致性,减少错误。
存储过程的缺点
调试困难:存储过程的调试工具较少,调试复杂存储过程较为困难。
移植性差:不同数据库系统的存储过程语法和特性不同,移植到其他数据库系统需要重新编写。
重新编译问题:存储过程在数据库对象发生变化时需要重新编译,可能会影响性能。
管理困难:存储过程没有版本控制,管理较为困难。
不适合高并发场景:在高并发场景下,存储过程可能会增加数据库压力,不适合使用。
步入正题
存储过程也可以理解为脚本,理解为脚本你就明白对于多变的业务,脚本的灵活是代码远远无法比拟的,然而这一切的一切竟然微软没有研发好用的远程的调试工具,我之前是打通调试研究搞了很久最后失败告终,可能有人说可以换一下数据库版本工具,但是商业授权的不是想换新版本就行的,针对调试困难 和 管理版本团队协作困难的问题已经研发了工具得到了彻底的解决
搞定调试难问题
针对调试困难 和 管理版本团队协作困难的问题已经研发了工具得到了彻底的解决
远程调试基本很难打通的,如果直接转换为sql就简单的多,我针对此开发了存储过程转换和逆转功能
还能一键所有分支插入print,精准查看每个语句执行耗时,精准知道存储过程执行到了哪一步,因此 就算远程调试打通,速度也没有我这处理起来快。
我开发了一建转换的刚开始是给ssms开发工具开发对应的插件

也兼容了2014 到2022 但是有的朋友还是遇到无法使用的问题,于是又开发了一个神器,不依赖任何开发工具,万能使用的转换

如下是没转换之前代码

转换后

插入debug的转换

如果遇到语法错误只需要定位到语法错误高亮的地方删掉 多余的print就行如下

转换还有提示窗口哦

只需要在任意存储过程编辑窗口按下快捷键就能自动转换。。
搞定版本控制
所谓版本就是我能方便的看到自己的代码,能方便搜索
搜索的如下,高亮 速度快

这是在线搜索,还缺一个离线的,也就是版本控制,拉取到本地,第一步是初始化git,然后拉取提交

只要有人改动了表或者存储 一目两然,还能清楚的看到是什么时候改动的。

是不是爽歪歪呢
,存储过程太多 表太多 属于客户网络环境,远程拉取太慢? 完全可以设定只拉取10条多点几次,就会拉取最新修改的数据,从而实现加速,也可以输入关键词拉取指定的。
搞定多客户频繁切换繁琐但是ssms记忆数据源问题

客户erp数据太多,不知道到底存到哪个表又没有详细文档?用这个

需要注意的是,需要最新版浏览器支持,我测过老版本不支持实时刷新网页进度。 这里的实现不是工具实现的是另外写了一个web服务器 网页刷新。
直接在数据源窗口直接点击 此按钮直接能自动注入填写
未完待续,先上工具
工具免费 未完待续