当前位置: 首页 > article >正文

SQL SERVER 从嫌弃存储到爱上存储过程我给存储过程开发了版本控制工具和远程调试功能...

优缺点

SQL SERVER 爱上存储过程我给存储过程开发了版本控制工具和远程调试功能

先说说 存储过程的优缺点吧存储过程的优点

提高执行效率:存储过程是预编译的,执行速度较快,减少了网络传输量。
减少开发工作量:存储过程可以将复杂的数据库操作封装起来,重复使用,减少开发工作量。
增强安全性:可以通过设置权限来控制谁可以执行存储过程,提高数据的安全性。
良好的封装性:存储过程可以将多个SQL语句封装成一个模块,减少网络传输量,简化数据库操作。
一致性:存储过程可以确保数据操作的一致性,减少错误。

存储过程的缺点

调试困难:存储过程的调试工具较少,调试复杂存储过程较为困难。
移植性差:不同数据库系统的存储过程语法和特性不同,移植到其他数据库系统需要重新编写。
重新编译问题:存储过程在数据库对象发生变化时需要重新编译,可能会影响性能。
管理困难:存储过程没有版本控制,管理较为困难。
不适合高并发场景:在高并发场景下,存储过程可能会增加数据库压力,不适合使用。

步入正题

存储过程也可以理解为脚本,理解为脚本你就明白对于多变的业务,脚本的灵活是代码远远无法比拟的,然而这一切的一切竟然微软没有研发好用的远程的调试工具,我之前是打通调试研究搞了很久最后失败告终,可能有人说可以换一下数据库版本工具,但是商业授权的不是想换新版本就行的,针对调试困难 和 管理版本团队协作困难的问题已经研发了工具得到了彻底的解决

搞定调试难问题

针对调试困难 和 管理版本团队协作困难的问题已经研发了工具得到了彻底的解决

远程调试基本很难打通的,如果直接转换为sql就简单的多,我针对此开发了存储过程转换和逆转功能
还能一键所有分支插入print,精准查看每个语句执行耗时,精准知道存储过程执行到了哪一步,因此 就算远程调试打通,速度也没有我这处理起来快。

我开发了一建转换的刚开始是给ssms开发工具开发对应的插件

image.png

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

image.png

如下是没转换之前代码

image.png

转换后

image.png

插入debug的转换

image.png

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

image.png

转换还有提示窗口哦

image.png

只需要在任意存储过程编辑窗口按下快捷键就能自动转换。。

搞定版本控制

所谓版本就是我能方便的看到自己的代码,能方便搜索

搜索的如下,高亮 速度快

image.png

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

image.png

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

image.png

是不是爽歪歪呢

,存储过程太多 表太多 属于客户网络环境,远程拉取太慢? 完全可以设定只拉取10条多点几次,就会拉取最新修改的数据,从而实现加速,也可以输入关键词拉取指定的。

搞定多客户频繁切换繁琐但是ssms记忆数据源问题

image.png

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

image.png

需要注意的是,需要最新版浏览器支持,我测过老版本不支持实时刷新网页进度。 这里的实现不是工具实现的是另外写了一个web服务器 网页刷新。

直接在数据源窗口直接点击 此按钮直接能自动注入填写
未完待续,先上工具

工具免费 未完待续


http://www.kler.cn/news/327464.html

相关文章:

  • 基于ESP8266使用OLED显示温湿度和时间
  • Jmeter常用函数、逻辑控制器
  • 025.Oracle_DBMS_job定时任务
  • 单片机在控制和自动化任务中的应用场景广泛
  • 关于区块链的安全和隐私
  • 国外问卷调查匠哥已经不带人了,但是还可以交流
  • Windows平台如何实现RTSP|RTMP流录像?
  • STM32F1+HAL库+FreeTOTS学习14——数值信号量
  • 如何创建一个包含多个列的表?
  • PHP的guzzlehttp/guzzle库在碰到各种异常时的场景
  • 前端框架对比和选择:Vue、React 和 Angular 谁更适合你的项目?
  • Java 死锁及避免讲解和案例示范
  • 初识Linux · O(1)调度算法
  • 新品 | Teledyne FLIR IIS 推出Forge 1GigE SWIR 短波红外工业相机系列
  • 【d57】【sql】1661. 每台机器的进程平均运行时间
  • 【AI学习笔记】基于Unity+DeepSeek开发的一些BUG记录解决方案
  • 【YashanDB知识库】YashanDB-OCI-快速上手
  • 仿真设计|基于51单片机的路口交通灯控制系统仿真
  • sudo 命令:掌握系统权限控制,实现安全高效管理
  • C++----类和对象(一)
  • SpringBoot集成-RocketMQ快速入门
  • 使用 SSH 连接 Docker 服务器:IntelliJ IDEA 高效配置与操作指南
  • Day48_SpringSecurity
  • 上海市计算机学会竞赛平台2024年9月月赛丙组材料组合
  • sql 时间交集
  • C# 变量与常量
  • Unity3D Shader的阴影部分法线效果详解
  • Android Studio | 无法识别Icons.Default.Spa中的Spa
  • 软件设计师——计算机网络
  • 【有啥问啥】卡尔曼滤波(Kalman Filter):从噪声中提取信号的利器