讨论一下 存储过程 在什么情况下用,

bao520min 2009-04-13 11:30:34
存储过程到底 在什么情况下用,好像用多了也不好,消耗性能吧
...全文
132 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
civerb 2009-04-14
  • 打赏
  • 举报
回复
每个sql语句在真正查询的时候都要编译一下,之后才能让计算机识别,所以你写的每一条sql语句在执行的时候都会编译一下,这样有性能损失的

而存储过程在创建完成的时候就已经编译过了,调用的时候就不用再编译了,能省掉这一步,从而提高性能

存储过程一般用于复杂的sql语句查询,关联到多张表,而且还夹杂着一些if判定,想这样的业务逻辑就非常适合用存储过程

也许你会问:那么只要是sql语句都把它编成存储过程那不就可以提高性能了吗,答案当然是肯定的

但存储过程会在数据库中占用资源空间的,所以不能要太频繁使用,那样会占用本来用于存储数据的空间,所以简单的sql语句就不必用存储过程了

比如实现菜单排序的时候 就非常适合做过存储过程,
XiaoJunZeng 2009-04-14
  • 打赏
  • 举报
回复
增删查改都行可以提高安全性
wuyq11 2009-04-14
  • 打赏
  • 举报
回复
根据需要使用
在单个存储过程中执行一系列 SQL 语句。
从存储过程内引用其它存储过程,这可以简化一系列复杂语句。
存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快
wujinjian2008n 2009-04-14
  • 打赏
  • 举报
回复
up
wenrenhehe 2009-04-14
  • 打赏
  • 举报
回复
收藏,学习
热学沸腾56 2009-04-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zzxap 的回复:]
先把程序做好,然后看哪里是性能瓶颈,然后把这部分改为存储过程,
[/Quote]up
delphi_new 2009-04-14
  • 打赏
  • 举报
回复
想用就用,数据库业务逻辑复杂的时候就用,比用事务要来的方便
chenyu112 2009-04-14
  • 打赏
  • 举报
回复
帮顶
greymouseyu 2009-04-14
  • 打赏
  • 举报
回复
把逻辑拆分成子功能写在程序里,可以提高代码的复用性。
在大数据量查询的时候用存储过程比较好
saisky 2009-04-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zzxap 的回复:]
先把程序做好,然后看哪里是性能瓶颈,然后把这部分改为存储过程,
[/Quote]
说的好呀~
bao520min 2009-04-14
  • 打赏
  • 举报
回复
如果我一个简单的查找句语句用不用的上去写存储过程呢,
zzxap 2009-04-14
  • 打赏
  • 举报
回复
先把程序做好,然后看哪里是性能瓶颈,然后把这部分改为存储过程,

jiashu912387 2009-04-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lovehongyun 的回复:]
尽量不要把业务逻辑放到存储过程中
你可以用存储过程来处理数据,而不是用它来处理业务
(实际应用中,还是要根据需求,公司的规定,具体问题具体分析)
[/Quote]

陌上花花 2009-04-14
  • 打赏
  • 举报
回复
存储过程可以理解为将常用的或很复杂的工作预先以SQL程序写好,然后指定一个程序名称保存起来,

那么以后只要使用EXECUTE指令来执行这个程序,即可自动完成该项工作。

通常在同数据库进行数据处理时使用存储过程。
同意楼上的特点描述。
lovehongyun 2009-04-14
  • 打赏
  • 举报
回复
尽量不要把业务逻辑放到存储过程中
你可以用存储过程来处理数据,而不是用它来处理业务
(实际应用中,还是要根据需求,公司的规定,具体问题具体分析)
Teng_s2000 2009-04-14
  • 打赏
  • 举报
回复
使用sql语句的地方都可以用存储过程!

带参数的存储过程可以减少sql注入攻击
由于其是编译好的sql,在使用时不用再编译,效率会比普通的sql好些

维护也好些
itcrazyman 2009-04-14
  • 打赏
  • 举报
回复
1.执行效率高
2.安全性高
3.减少网络数据往来
楼下继续
jdbcodbc 2009-04-14
  • 打赏
  • 举报
回复
操作数据库吧,业务逻辑个人觉得写在程序里完整性更好些
itliyi 2009-04-14
  • 打赏
  • 举报
回复
业务操作逻辑复杂的时候,统一写存储过程
cwmwss 2009-04-14
  • 打赏
  • 举报
回复
数据库操作的时候用,要多用存储过程!执行比ADO快。更安全

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧