最近工作越来越多的接触到存储过程。
所以关注了一下这种方式的优缺点,在此整理一下:
存储过程,可以看做一个SQL函数,在其中编写各种SQL逻辑,并在需要的时候进行调用。
我在使用过程中体会到的优缺点如下:
优点:
1,安全,这个也是我认为最大的优点。涉及到企业的复杂逻辑,可以放到存储过程里写,保密性很好,反编译也无法查看。而且可以设置调用权限,让指定人使用。
2,效率,存储过程在创建时就编译好了,以后都可以直接用,面对大批量频繁调用时可以明显提高效率。(网上说的存储过程比SQL文快是不完全对的,它只在超大量频繁调用时才体现出“快”这个效果)
3,集中,关键逻辑放在数据库中,在需要变更的时候,只需要修改数据库即可,不需要修改程序,不用再发布不用再重装。
缺点:
1,维护性不好。这是针对优点3的,某种程度上来说,存储过程的维护性很好。但作为开发者,将逻辑写在程序代码中是最方便维护的。在存储过程中维护相对麻烦和不直观。
2,调试不是很方便。如果不用PL SQL的话……
网上提了很多优缺点,但我自己在使用中体会到的明显特点就是以上这些。
分享到:
相关推荐
SQL_Server_存储过程_-_hoojo_-_博客园
oracle存储过程_函数_语法_大全_详解
C# SQL 存储过程 添加 修改 删除 查询数据
存储过程的优点
存储过程 +pg_cron .sql
mysql高级部分--包含索引建立优化_函数_存储过程_触发器_及游标
NULL 博文链接:https://yixinhu.iteye.com/blog/1534691
SQL 2005 中触发器、事务,存储过程、视图_T-SQL语句的详细讲解课程学习PPT(含有实例和作业题)
本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...
XP_CMDSHELL存储过程是执行本机的CMD命令,要求系统登陆有SA权限,也就是说如果获得SQLSERVER的SA命令,那就可以在目标机为所欲为了,知名软件“流光”使用的应该也是这个存储过程来实现在目标机上的操作。
INSERT_语句生成器.sql 一个存储过程- INSERT_语句生成器.sql 生成表INSERT插入语句SQL,INSERT_语句生成器.sql
SQL破解加密视图存储过程SqlDecryptor_v1.1.0
存储过程的优缺点: 存储过程优点: 1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProcedure为封装此代码提供了一个替换位置。 2.执行计划(存储过程在首次运行时将被编译,...
三层无存储过程分页Demo_dotnet整站程序
系统存储过程,sp_executesql 语言在这里! sp_executesql 执行可以多次重用或动态生成的 Transact-SQL 语句或批处理。Transact-SQL 语句或批处理可以包含嵌入参数。 语法 sp_executesql [@stmt =] stmt...
DOA访问Oracle存储过程(使用DOA访问Oracle的存储过程更有效率、更方便)
SQL破解加密视图存储过程SqlDecryptor_v1.1.0.rar.rar
PHP_MySQL_存储过程_最新 储存过程
NULL 博文链接:https://kaka100.iteye.com/blog/964869
存储过程,字段中所有字母转换成大写,可移值做为触发器程序。