本人对oracle非常不熟悉,我在开发asp.net多数使用sqlserver,但是这次项目中用oracle数据库。老板一再强调不要用存储过程。我的理解存储过程经过编译后,性能效率更好,网络间发送字符流也减少,为啥在oracle中不推荐使用存储过程呢??
解决方案 »
- 无法将类型为“System.String”的对象强制转换为类型“System.Byte[]”。
- ie8模式下jquery调用asp.net web service的问题
- 请问哪儿有好的网上购物商店源码
- .NET Runtime 2.0 Error
- RadioButtonList绑定后,我怎么样可以得到某一个RadioButton的文本值?
- 令人抓狂的404错误
- 哪里能下载framwork 2.0?
- 取Dropdownlist值的问题
- 100分求 vs2005完整版的下载地址!!!(在线急等)
- AJAX中有个在DIV前插入文字,这个怎么做的呀??
- 内容改变触发事件
- Crystal reports打印问题,各位请不吝指教
不奇怪。公司的大部分开发人员技术水平低下的时候,使用存储过程就等于扩大了技术知识面,debug 的难度。如果是熟练程序员这些都没有问题的。一点都不扯,本人深有体会,一开始也不明白,辞职那天经理告诉我的
也可以多写两套sql存储过程,根据不同的数据库,调用不同的dal层,工厂模式。
怕驾驭不了的话,就不要开发oracle了,驾驭不了的事情多着呢。
而且,存储过程只是减少了网络传输的SQL语句和编译SQL的开销,事实上大部分情况下这些对系统的影响很小,几乎可以忽略。只在必要的时候才用,而不是给每个查询、插入之类的都写成存储过程。
这样说行吗
你在sql 字符串中用了一个数据库特定的函数,也用不了,我不喜欢存储过程,因为开放或看改代码的时候,要去找存储过程 很麻烦“
存储过程是牺牲开发、维护效率换来运行效率
而且,存储过程只是减少了网络传输的SQL语句和编译SQL的开销,事实上大部分情况下这些对系统的影响很小,几乎可以忽略。只在必要的时候才用,而不是给每个查询、插入之类的都写成存储过程。”
++
1、产品存在跨平台、跨数据库的(比如用友NC,可以数据库是DB2\ORACLE\SQLSERVER)等
2、存储过程如果在B/S产品使用的话,如果存储过程对数据库表进行锁定等相关操作的时候,一旦出现并发,就会出现问题。
3、存储过程不好维护,一般正式产品一旦客户应用了,生产环境数据库不会随便让连接使用,维护起来比较麻烦。