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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wanghuailin1030 中级黑马   /  2013-6-14 12:50  /  1666 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wanghuailin1030 于 2013-6-14 21:48 编辑

存错过程是什么?有什么用啊?听说能优化数据库,是怎样优化的?事务又要怎样理解?

看了大家的回答,我的理解是存错过程是由于要做复杂的数据库运算,或者要多次调用而建立的。在编码页面直接调用,由于没有在源码页写出SQL语句,这样就保证了安全。而且运算是在数据库端运行,也省却了页面的资源。不知道对不对?
事务还是不理解,还有希望某些同学能按照自己的理解来解释,不要百度出一篇,便拷出来。打眼一看,就跟一篇文言文对比白话文一样,都能看出来。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

4 个回复

倒序浏览
存错过程是什么?有什么用啊?听说能优化数据库,是怎样优化的?事务又要怎样理解?
存储过程通俗的来讲就是一组具有特定功能的SQL语句集,
在编译过后会存到数据库里面,可供程序调用来执行一组SQL命令。
存储过程是以流程语句编写的,有很强的灵动性,可以完成较复杂的判断,保证了数据的安全完整从而达到优化数据库的作用
存储过程在运算时生成执行方式,所以,以后在程序中对其再运行时其执行速度很快。从而达到了优化程序的作用

事务:通俗说就是一系列要执行的操作,通过这组操作组合成为一个要么全部成功要么全部失败的单元,可以简化错误
一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
1.存储过程可以使得程序执行效率更高、安全性更好,因为过程建立之后 已经编译并且储存到数据库,
直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性问题,如:sql注入
2.建立过程不会很耗系统资源,因为过程只是在调用才执行。
3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量T-sql语句的代码流量。
4.使用存储过程使您能够增强对执行计划的重复使用,由此可以通过使用远程过程调用 (RPC) 处理服务器上的存储过程而提高性能。
RPC 封装参数和调用服务器端过程的方式使引擎能够轻松地找到匹配的执行计划,并只需插入更新的参数值。
5.可维护性高,更新存储过程通常比更改、测试以及重新部署程序集需要较少的时间和精力。
6.代码精简一致,一个存储过程可以用于应用程序代码的不同位置。
7.增强安全性:a、通过向用户授予对存储过程(而不是基于表)的访问权限,它们可以提供对特定数据的访问;b、提高代码安全,
防止 SQL注入(但未彻底解决,例如,将数据操作语言--DML,附加到输入参数);c、SqlParameter 类指定存储过程参数的数据类型,
作为深层次防御性策略的一部分,可以验证用户提供的值类型(但也不是万无一失,还是应该传递至数据库前得到附加验证)。
缺点就是:1、大量的利用过程,会对服务器压力比较大。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
存储过程是SQL 语句和流程控制语句的集合。存储过程在运算时生成执行方式,所以,以后对其再运行时其执行速度很快。
并且由于是在数据库内部所以能处理的事物复杂度也比普通sql 高,你可以把每一个sql 看成一个事物。
存储过程的确定是 加大服务器压力,代码不便于维护。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
1. 存储过程是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中.用户通过指定存储过程的名字,并给出参数(如果该存储过程带有参数)来执行它;
2. 存储过程在被创建以后可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句;
3. 如果某一操作包含大量的Transaction-SQL 代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多;
4. 存储过程能够减少网络流量;
5. 存储过程可被作为一种安全机制来充分利用 .
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马