A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许王斌 中级黑马   /  2012-11-29 13:37  /  3362 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 许王斌 于 2012-12-4 14:05 编辑

存储过程是提前写好在数据库中的,请问大家在项目中一般什么时候会用到存储过程?或者说做到什么需求时需要用到存储过程呢?它还有什么优点呢?

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

12 个回复

倒序浏览
当工作中你的业务超级复杂的时候,用一个sql搞定不了的时候就需要用到存储过程!当然用普通的sql也能实现这个功能!但Java端的代码相对比较多!存储过程相对一些普通的sql来说效率会高很多的!

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
就是因为效率高就用存储过程吗?
回复 使用道具 举报
效率不一定高,但是一定会简单很多很多`,
回复 使用道具 举报
储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。
相比与sql的话,可以使问题变得简单
回复 使用道具 举报
存储过程是数据库编程里面最重要的表现方式。

相对于直接使用SQL语句,在应用程序中直接调用存储过程有以下好处:

(1)减少网络通信量。调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可能不会有很大的差别,可是如果存储过程包含上百行SQL语句,那么其性能绝对比一条一条的调用SQL语句要高得多。

(2)执行速度更快。有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了一次解析和优化。其次,存储过程一旦执行,在内存中就会保留一份这个存储过程,这样下次再执行同样的存储过程时,可以从内存中直接调用。

(3)更强的适应性:由于存储过程对数据库的访问是通过存储过程来进行的,因此数据库开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动,而这些改动不会对应用程序造成影响。

(4) 布式工作:应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。
回复 使用道具 举报
储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。
相比与sql的话,可以使问题变得简单

谢谢你的回答
回复 使用道具 举报
为什么需要存储过程?

    1> 防止SQL注入式攻击
    2> 应用程序执行的过程是不安全的,主要问题:
       >数据不安全
       >每次提交SQL代码都要经语法编译后再执行,影响应用程序的运行性能
       >网络流量大


存储过程的好处之一是防止sql注入式攻击,现在一些小的网站或者个人网站,如果不使用存储过程或者其他方法来防止sql注入式攻击,很可能
让一些恶意的人获取到资源而达到他们的目的。我们在学存储过程之前感觉先了解下sql注入式攻击或许对学习更好
回复 使用道具 举报
Jam 中级黑马 2012-11-29 20:01:03
9#
做分页时用存储过程就很方便  说白了就是一个方法  调用也方便
回复 使用道具 举报
存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,可以重复使用,可降低网络流量。
可以增强安全性。
当一个事务涉及到多个SQL语句时或者涉及到对多个表的操作时就要考虑用存储过程;当在一个事务的完成需要很复杂的商业逻辑时(比如,对多个数据的操作,对多个状态的判断更改等)要考虑;还有就是比较复杂的统计和汇总也要考虑,但是过多的使用存储过程会降低系统的移植性。
回复 使用道具 举报
存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,可以重复使用,可降低网络流量。
可以增强安全性。
当一个事务涉及到多个SQL语句时或者涉及到对多个表的操作时就要考虑用存储过程;当在一个事务的完成需要很复杂的商业逻辑时(比如,对多个数据的操作,对多个状态的判断更改等)要考虑;还有就是比较复杂的统计和汇总也要考虑,但是过多的使用存储过程会降低系统的移植性。

多谢解答~
回复 使用道具 举报
存储过程一般在大型项目中用到,是一组为了完成特定功能的SQl语句。
它的优点有:
1、可保证数据的安全性和完整性。
2、在运行存储过程前,数据库已经对其进行了语法和语句分析,所以后期可以以极快的速度访问,提高效率。
3、可完成复杂操作。
4、可重复使用,提高开发人工作效率。
回复 使用道具 举报
顶楼都说存储过程优点了。。其实存储过程也不是最好的选择甚至反而不用,因为把逻辑运算过程都丢给了数据库。。你认为这样好吗?所以使用要权衡一下。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马