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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡双挺 黑马帝   /  2012-1-14 10:18  /  2649 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎样是数据较快的从数据库中读出,有事后在ASP.NET学习中,需要创建很多的存储过程,请问存储过程是怎么运行的,有些不理解。

3 个回复

倒序浏览
 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
  2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。   
3.存储过程可以重复使用,可减少数据库开发人员的工作量   
4.安全性高,可设定只有某些用户才具有对指定存储过程的使用权


其实可以用方法来理解存储过程
回复 使用道具 举报
1.存储过程可以使得程序执行效率更高、安全性更好,因为过程建立之后 已经编译并且储存到数据库,直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性问题,如:sql注入
2.建立过程不会很耗系统资源,因为过程只是在调用才执行。
其次当数据量越大执行过程越长.如是几十条几或几K可能看不出效果如果是上10W或者过100W你就会发现速度(查询、更新)会慢很多,,随著数据量增大你的存储过程执行时间会更长是一定的
回复 使用道具 举报
.存储过程可以使得程序执行效率更高、安全性更好,因为过程建立之后 已经编译并且储存到数据库,直接写sql就需要先分析再执行因此过程效率更高,直接写sql语句会带来安全性问题,如:sql注入
2.建立过程不会很耗系统资源,因为过程只是在调用才执行。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马