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

news2024/10/13 11:12:02

优缺点

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.coloradmin.cn/o/2185109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

删除GitHub仓库的fork依赖 (Delete fork dependency of a GitHub repository)

解除fork仓库依赖的原因 在 Fork 了一个仓库,进行了大量修改,导致与父仓库的功能差异很大。 在每次 Pull Request 的默认目标分支是父仓库,很容易就会 PR 到父仓库里。 Fork 的仓库被其他人提出贡献并使用了,但不能显示贡献者…

【Python报错已解决】TypeError: not enough arguments for format string

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

国庆普及模拟2总结

目录 题目链接: 官方题解: 概述: 总结反思: 题目 T1: 题目分析: 错误代码: 错因: AC代码: T2: 题目分析: 赛时代码&#xf…

【Nacos架构 原理】内核设计之Nacos通信通道

文章目录 Nacos通信通道 (长链接)现状背景场景分析配置服务 长链接核心诉求功能性诉求负载均衡连接生命周期 Nacos通信通道 (长链接) 现状背景 Nacos 1.X 版本 Config/Naming 模块各自的推送通道都是按照自己的设计模型来实现的…

链表OJ经典题目及思路总结(二)头结点

系列文章目录 链表OJ经典题目及思路总结(一)双指针 链表OJ经典题目及思路总结(二)头结点 文章目录 系列文章目录前言1.建立新链表1.1 移除链表元素 2.哨兵位的头结点2.1 链表分割2.2 合并两个有序链表 3.CV工程师总结 前言 对于…

Python笔记 - 利用装饰器设计注解体系

认识注解 注解(Annotation)是一种用于为代码添加元数据的机制。这些元数据可以在运行时被访问,用于为代码元素(如类、方法、字段等)提供额外的信息或指示。 由于Python中装饰器只能装饰类和方法,因此也只…

C动态内存管理

前言:不知不觉又过去了很长的一段时间。今天对C语言中的动态内存管理进行一个系统性的总结。 1 为什么要有动态内存分配 在C语言中,使用int,float,double,short等数据内置类型以及数组不是也可以开辟内存空间吗&…

《算法岗面试宝典》重磅发布!

大家好,历时半年完善,《算法岗面试宝典》 终于可以跟大家见面了。 最近 ChatGPT 爆火,推动了技术圈对大模型算法场景落地的热情,就业市场招聘人数越来越多,算法岗一跃成为竞争难度第一的岗位。 岗位方向 从细分方向…

李宏毅深度学习-梯度下降和Normalization归一化

Gradient Descent梯度下降 ▽ -> 梯度gradient -> vector向量 -> 下图中的红色箭头(loss等高线的法线方向) Tip1: Tuning your learning rates Adaptive Learning Rates自适应 通常lr会越来越小 Adaptive Learning Rates中每个参数都给它不同…

110.WEB渗透测试-信息收集-ARL(1)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:109.WEB渗透测试-信息收集-FOFA语法(9) 信息收集自动化工具-灯塔…

黑马头条day6-kafka及异步通知文章上下架

今天任务比较水 主要是kafka入门和 文章上下架 以及异步通知article同步到app的前端数据 需要重新看一下(使用步骤并不是很复杂 kafka主要解决高并发) 1 kafka的入门 和 使用异步 需要重新看一下了流程和 详细信息 2 bug 打开app页面的时候出现503 服…

从0到1深入浅出构建Nest.Js项目

Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的开发框架。它利用JavaScript 的渐进增强的能力,使用并完全支持 TypeScript (仍然允许开发者使用纯 JavaScript 进行开发),并结合了 OOP (面向对…

动手学运动规划: 2.2.c 3次样条曲线代码解析

学习? 学个P!☺ — 亮剑 李云龙 🏰代码及环境配置:请参考 环境配置和代码运行! 本节提供了3次样条曲线的代码测试 python3 tests/curves/cubic_spline.py2.2.c.1 3次样条曲线代码实现 CubicSpline1D实现了1维的3次样条曲线, 需要输入一组离散点. Cub…

现在别买理想L7/L8,问界M8要来暴揍友商了

文 | AUTO芯球 作者 | 雷慢 问界又一重磅炸弹要来了, 它就是问界M8, 来看,M8刚又曝光了大量谍照。 现在我打听的消息是这样的, 11月广州车展亮相预售, 12月底正式上市,25年春节前后开始交付&#xff…

计算机网络:计算机网络体系结构 —— 专用术语总结

文章目录 专用术语实体协议服务服务访问点 SAP 服务原语 SP 协议数据单元 PDU服务数据单元 SDU 专用术语 实体 实体是指任何可以发送或接收信息的硬件或软件进程 对等实体是指通信双方处于相同层次中的实体,如通信双方应用层的浏览器进程和 Web 服务器进程。 协…

Java组件化开发:jar包

我在java基础:原始数据类型,包的创建与导入-CSDN博客一文中记录了包的使用,此文就详细讲解一下IDEA中如何进行组件化开发。 介绍 现在的软件系统功能越来越复杂,规模也越来越大,为了应对这种挑战,人们将“…

深入解析Python错误消息及解决方法

深入解析Python错误消息及解决方法 Python是开发者广泛使用的语言,因其简洁的语法和强大的标准库而深受欢迎。然而,Python程序在运行过程中,错误不可避免。理解Python的错误消息并正确处理这些错误,是提升代码质量和调试效率的重…

3.点位管理改造-列表查询——帝可得管理系统

目录 前言一、与页面原型差距1.现在:2.目标:3. 存在问题:所在区域和合作商ID展示的都是ID,而不是名称;同时合作商ID应改为合作商 二、修改1.重新设计SQL语句2.修改mapper层,使用Mybatis中的嵌套查询3.修改s…

AI人工智能人像修饰中文面板PS插件 Retouch Pro 3.2.0 中文汉化版

AI人工智能人像修饰PS扩展插件 Retouch Pro 3.2.0 中文汉化版 支持软件:PS 2018 – PS 2025或更高版本 系统要求:Windows系统 或 MacOS系统 出处:https://www.aeown.com/thread-3061-1-1.html Retouch Pro Panel 有一个非常强大和先进的人工…

Python Tips6 基于数据库和钉钉机器人的通知

说明 起因是我第一版quant程序的短信通知失效了。最初认为短信是比较即时且比较醒目的通知方式,现在看来完全不行。 列举三个主要问题: 1 延时。在早先还能收到消息的时候,迟滞就很严重,几分钟都算短的。2 完全丢失。我手机没有…