做为SQL存储过程和.NET的新手,下面的指导还是很有用的,自己这一段刚刚接触这些东西,搜集了一些相关的东西,能使新手较容易上手,当然啦,要精通和熟练应用,还是要看更多更深的资料的,高手请不要见笑。
以下内容均来自网络,只供参考学习:
--------
存储过程与SQL语句的恩怨情仇
程序员说:存储过程还是SQL语句,这是一个问题。
江 湖现在有三个流派,一个是SQL语句流的,崇尚使用SQL语句,一派是存储过程派的,崇尚用存储过程说话,还有一派是中庸派的,讲求和谐,所以也就前两派 吵得厉害,中庸派的看热闹。现在SQL派的有Nhibernate为首的众多ORM助阵,最近风生水起比较得意,存储过程派也有自己的杀手秘籍,两派互不 相让,争斗由来已久。
存储过程派的追求速度,所谓天下无功无坚不破,唯快不破,这也是存储过程派的人行走江湖的最大本钱。之前存储过程派的攻击SQL语句派的还有一个秘籍就是安全,不过现在都没人用连接String的动态SQL的了,这招也就失效了。
SQL语句派是资格很老的流派,但是新手居多,老资格很多投奔敌营存储过程派了。Java帮的人很多都是SQL语句派的,而存储过程派的以微软帮的居多。
不 过存储过程派也有软肋,可移植性就是其一,还有一点就是可扩展性,因为一般大型的Web应用程序都是多Web服务器,然后用双数据库服务器做双机热备,其 中一台开机,但是是闲置的,这里只是解决单点故障的问题,但是形成了多Web应用服务器,单数据库服务器的情况,如果所有的运算都用存储过程实现,那么会 造成数据库服务器负担过重,而Web服务器负荷不足的情况,而扩展数据库服务器的话就会非常的麻烦,而且投资较大,程序也需要改,而投资Web服务器就相 对便宜而且扩容更加简单。
人在江湖漂哪有不挨刀,所以中庸一点比较保险,我比较倾向于用把较多的负担放到程序里来,而降低数据库得负担,因为只要 数据库扛得住,再增加Web服务器那是比较容易的,但是一旦数据库服务器扛不住了我们就只有哭了。一般报表阿,还有一些结果集比较复杂的我就用存储过程来 包装,一般的查询和CUID操作我都是找个ORM来搞定。

其实主要是在说存储过程的软肋。
1)从部署上看,存储过程要比sql难
2) 从性能看,存储过程要比SQL高
3) 从安全性将,存储过程比SQL防注入
过程可以减少网络数据传输量,把计算都放在服务器上   
    
前端程序可以直接访问数据库的表,可以直接用SQL语言直接对数据库的表进行读写操作;   
    
 为安全,可以编程,使用存储过程进行数据表的读写操作,而前端程序直接访问这些存储过程,而不是数据库的表;   
    
更安全的方法是:在前端程序和数据库之间,增加数据库访问层;前端将数据的读写请求提交给中间层,有中间层与数据库连接进行数据库的实际操作,将结果送给前端,这种方式可以避免前端机器直接连接到数据库的可能,数据库更安全。

转载于:https://www.cnblogs.com/xianchen/archive/2011/03/08/1977658.html

存储过程和SQL语句比较【转】相关推荐

  1. java存储过程与sql语句_存储过程与SQL语句怎么选择

    应用存储过程的优点: 1.具有更好的性能 存储过程是预编译的,只在创建时进行编译,以后每次执行存储过程都不需再重新编译, 而一般 SQL 语句每执行一次就编译一次,因此使用存储过程可以提高数据库执行速 ...

  2. EF增删查改加执行存储过程和sql语句,多种方法汇总

    1 ActionUrl c = new ActionUrl() { ActionName="test", RequestUrl="/123/123", SubT ...

  3. linux查看db2存储过程,DB2查看存储过程里SQL语句的执行情况

    动态SQL可以用snapshot查看,存储过程里SQL语句的执行情况用event monitor查看. 但是event monitor没有记录SQL语句,而是记录了package id和Section ...

  4. 存储过程中将sql语句结果赋值给变量

    create  procedure procname AS declare @recount int select @recount=count(id) from school --最关键在这句 se ...

  5. oracle 存储过程导出sql语句 导出为文件

    //使用方法 sql> 输入如↓注意文件写入权限 SET echo off; SET heading off; SET feedback off; spool /home/oracle/temp ...

  6. phpsql拼接_SQL存储过程中SQL语句拼接

    set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go -- ============================================= -- Au ...

  7. Entity Framework Core 执行SQL语句和存储过程

    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...

  8. EF Core 执行SQL语句和存储过程

    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...

  9. MySQL 数据库 之 高级 SQL 语句(常用查询,正则表达式,运算符,库函数,存储过程)

    文章目录 前言 一 . 常用查询介绍 1.按关键字排序 1.1默认升序 1.2 降序 1.3 多字段的排序 2. 对结果进行分组 2.1 分组统计 3.限制结果条目 3.1 查看前4行 3.2 查看第 ...

最新文章

  1. Codeforces 815 B Karen and Test 杨辉三角 组合数学
  2. 2021年零基础带你走进nacos的世界之云服务器下载安装nacos-小白教程,详细到爆了!
  3. 大数据技术 学习之旅_为什么聚焦是您数据科学之旅的关键
  4. Boost笔记--Thread--Ubuntu上初次使用时遇到的问题
  5. 递增三元组(蓝桥杯)
  6. c语言:最长对称子串(3种解决方案)
  7. Mac上的Dock 栏如何设置更好用?
  8. 【转帖】Mysql多维数据仓库指南 第一篇 第1章
  9. Windows程序设计的第一个实例
  10. 计算机两个基准键用户来定位,键盘与指法基准键位练习
  11. 爱搞事情:关于黑苹果Intel网卡驱动这件事
  12. linux脚本写的计算器,Linux bc命令实现数学计算器
  13. 中国大学MOOC(慕课)离线下载视频支持电脑播放
  14. 马云单挑“叶问”吊打“战狼”,网友:原来天下武功,唯富不破~是贫穷限制了我的想象力
  15. M1芯片,PS2022版真的来了。Photoshop 2022 for Mac中文版介绍安装教程,支持Monterey系统
  16. 香港爱情电影二十四经
  17. scikit-image图像处理入门
  18. 记一次CVTE笔试(2018秋招)
  19. 2017年最火的19个行业,你做哪行!
  20. 【python数据分析】pandas数据合并

热门文章

  1. 思科扩展ACL具体怎么配置?
  2. 【干货】运维,你是青铜还是王者?
  3. python如何去掉方括号_python从入门到实战外星人入侵
  4. vuex ajax dev,vuex中使用ajax的话如何维护状态?
  5. hbase shell 查看列名_hbase shell 命令行的操作
  6. mysql5.7.20非安装版_mysql5.7.20\5.7.21免安装版安装配置教程
  7. session对象不创建会有吗_相亲对象木讷无聊,想找个不无趣的男人这么难吗?...
  8. c语言行计数程序,C语言非常简单的字符统计程序50行
  9. oracle catalog start with,rman中进行catalog start with 无法注册部分备份文件
  10. python 条形图_Python数据可视化:基于matplotlib绘制「堆积条形图」