一个项目里有200个存储过程,多不多?
做完后发现数据库里存储过程竟有200多个.我担心以后维护起来好麻烦.
有经验的大侠们,存储过程有待优化吗,具体怎么做的呢
问题点数:30、回复次数:46Top
1 楼MicroSoftASPNET(我不是思归)回复于 2005-10-24 17:14:10 得分 0
不多啊,我一个门户网站搞的存储过程也都快200个了。Top
2 楼xyunsh(学海无涯,回头是岸)回复于 2005-10-24 17:15:10 得分 0
我的有500多个...Top
3 楼cuike519(I will be back!)回复于 2005-10-24 17:16:57 得分 0
不多!优化要看你的每个存储过程具体的内容了,多少好像没有什么好优化的。Top
4 楼jxufewbt(我的目标是5星)回复于 2005-10-24 17:17:14 得分 0
不多,关键是命名要规范,要有注释Top
5 楼flashasp(flashasp)回复于 2005-10-24 17:17:43 得分 0
我觉得不一定没一个东西都要写成存储过程,这样反而累了自己:)Top
6 楼risingwolves(小气鬼)回复于 2005-10-24 17:18:25 得分 0
G罩杯(God!5oo个)Top
7 楼henryfan1(http://henryfan.cnblogs.com)回复于 2005-10-24 17:24:59 得分 0
对我来说就多,程序能完成的我都不喜欢用存储过程,除非用存储过程可以简单化很多.Top
8 楼cw888()回复于 2005-10-24 17:25:04 得分 0
不多!优化要看你的每个存储过程具体的内容:要写清文档,维护才不麻烦!Top
9 楼levinknight(Coral)回复于 2005-10-24 17:54:06 得分 0
不多,关键是命名要规范,要有注释Top
10 楼xyunsh(学海无涯,回头是岸)回复于 2005-10-24 18:02:01 得分 0
存储过程调用都比较规范,调用存储过程的代码可以写个代码生成器生成.这样可以少写很多代码.Top
11 楼bingbingcha(不思不归,不孟不E,原来是头大灰狼)回复于 2005-10-24 18:25:08 得分 0
为什么不多??如果你的项目开发周期在6~12个月的话!!!200个存储过程已经是达到上限了!!!!
楼主试着去查找一个存储过程,并修改一个变量,或者添加一个变量!!看看你修改用了多久的时间,查找用了多久的时间!!对比一下工作效率!!
存储过程是优化效率的好东西,但是并不代表什么SQL都必须用存储过程的!
我建议搂主,压缩你的存储过程..将并不复杂的存储过程用SQL直接执行...
Top
12 楼kisshere(( One of my personalities is shameless ))回复于 2005-10-24 18:30:53 得分 0
NO, I think it is not very much, just a little.
our application use more than 1000 sp, hehe.
but there are so many sp, I recommend that you should have some standard, for example, name standard, code standard, If you do this, maybe it is not difficult to update these sps.Top
13 楼tiger999(不吃肉的老虎)回复于 2005-10-24 18:41:57 得分 0
我现在开发的一个项目有 500 多个表,2000 多个 SPTop
14 楼jijl2001(jijl2001)回复于 2005-10-24 18:53:02 得分 0
没事,正常Top
15 楼daishengs(横舟摆渡)回复于 2005-10-24 18:57:54 得分 0
一点也不多Top
16 楼dragonforfly(飘零)回复于 2005-10-24 19:37:07 得分 0
我们做的都快400了Top
17 楼cm8983(思远)回复于 2005-10-24 20:11:11 得分 0
不多Top
18 楼tgh1981(虚拟等待)回复于 2005-10-24 20:22:50 得分 0
不是什么都用proc的,如果就单一的select就用proc的话...呵呵Top
19 楼adandelion(水源是CSDN最黑的地方,但这个最黑是CSDN一手制造的!)回复于 2005-10-24 20:27:23 得分 0
关键是命名要规范,要有注释
Top
20 楼lxy19810706(白雨)回复于 2005-10-24 20:36:09 得分 0
不多,如果是大项目,一点也不多.这样便于以后的维护.哦.Top
21 楼remymartin(杯中明月)回复于 2005-10-24 20:53:05 得分 0
我的还是个不算很大的项目,有800多个Top
22 楼tiger999(不吃肉的老虎)回复于 2005-10-24 20:58:59 得分 0
但凡正规一点的项目,数据访问都是用SP的。
这样便于DBA管理,也可确保数据的完整性
一个表至少有5个sp. 如果你的系统有30个以上的表的话
200个sp一点也不多。Top
23 楼yuming_1983(坏蛋)回复于 2005-10-24 23:39:56 得分 0
数据库表不算多,20几张表吧,我是把所有的SQL语句都写成存储过程Top
24 楼shalen520(Love will keep us alive)回复于 2005-10-25 09:50:02 得分 0
滥用存储过程Top
25 楼haoch00(爱老虎油)回复于 2005-10-25 10:09:54 得分 0
多少不是问题,关键是你的项目真的需要这么多的存储过程吗?Top
26 楼zouqiang122(先天不足)回复于 2005-10-25 10:26:08 得分 0
支持一下~~~Top
27 楼Truly()回复于 2005-10-25 10:27:36 得分 0
命名要规范,比如以表名开始以操作结束,这样就很容易查找了。
维护通常只发生在个别存储过程上,如果关键的地方有注释,就不会存在问题。Top
28 楼Truly()回复于 2005-10-25 10:30:42 得分 0
再说优化不是优化数量而是优化质量Top
29 楼Truly()回复于 2005-10-25 10:31:45 得分 0
而且优化过的代码将会更加难于维护Top
30 楼fwq11223344(付)回复于 2005-10-25 10:39:11 得分 0
not very much.
if a large project can't pass 300 sp,there must be some places waiting to be better.Top
31 楼x1234521(Server.net)回复于 2005-10-25 10:44:21 得分 0
楼主,你需要考虑一个问题,就是存储过程的工作机制,如果太多的话,服务器的负担会加重,但现在的服务器200个不算多,我的建议就是如果可以合并的存储过程就合并了,比如可以把操作一个表的(insert,update,delete)都放到一个存储过程中,然后用一个参数来控制是哪个操作。 还有就是弄明白什么时候应该用存储过程,而不要盲目的都使用。总之一句话,200个不算多,但看看可以不可以优化或整合,当然命名也要规范,那样执行效率会更高,而且维护起来也方便。
===========================================
Server.NET BY XjjTop
32 楼daiminfei(夏雨)回复于 2005-10-25 10:57:04 得分 0
200个sp,小case,我的项目已超过1000个,做BS的SP少了不方便。数据量大了以后可以考虑数据库与sp分离。Top
33 楼stonesh()回复于 2005-10-25 11:11:32 得分 0
不多,偶的一个项目表就200多张。存储过程近1000条呢。Top
34 楼edwardfay(都说养儿为防老,山高水远他乡流)回复于 2005-10-25 11:17:16 得分 0
500多个表,2000多个sp,我晕啊,多少人开发???
怕是到最后,项目经理都不知道这些表做什么用的了!Top
35 楼stonesh()回复于 2005-10-25 11:20:19 得分 0
有pdm的,这倒不用怕。Top
36 楼zhujiechang(小朱)回复于 2005-10-25 11:31:49 得分 0
和数量没有什么关系,需要多少存储过程是你的项目结构需求所决定的.Top
37 楼toin((材娃))回复于 2005-10-25 15:59:37 得分 0
哥们我一个存储过程可以做多事情!还有事务!集合点!Top
38 楼timiil(小华)回复于 2005-10-25 17:38:32 得分 0
如果是自动生成出来的SP,确实太多了Top
39 楼jinzhouk()回复于 2005-10-25 17:50:07 得分 0
很想知道大家使用怎样的命名规范Top
40 楼foyuan(暴走零零漆)回复于 2005-10-25 19:42:16 得分 0
我认为不多 呵呵
我一般把所有的数据库操作都写成存储过程!!Top
41 楼xiahouwen(武眉博<活靶子.NET>)回复于 2005-10-25 20:04:12 得分 0
bu duoTop
42 楼shixianyong(钱途无量)回复于 2005-10-25 20:18:20 得分 0
不多不多,命名注释清楚Top
43 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-10-25 21:28:39 得分 0
垃圾山增长的速度,不取决于垃圾本身的容量,而是取决于丢弃垃圾的方式。如果大家都有废物回收意识,垃圾山永远不会很大。
一个程序员为了自己的SQL而随手写下的存储过程,别人敢修改么?不可能敢。于是别人只会立刻自己写下另一个重复的,特别是这种重复掩盖了系统缺乏设计的弊病,很少人会从垃圾中发现系统项目设计和计划上的毛病。如此恶性循环,那种所存储过程多么规范、好维护的话根本无法兑现。
Top
44 楼biduan(笔端)回复于 2005-10-25 21:33:54 得分 0
垃圾山增长的速度,不取决于垃圾本身的容量,而是取决于丢弃垃圾的方式。如果大家都有废物回收意识,垃圾山永远不会很大。
//经典!Top
45 楼lengyubing_1983(ajax阿贾克斯是荷兰最久负盛名的球队)回复于 2005-10-26 15:01:00 得分 0
命名规范很重要Top
46 楼littlehb(在JAVA与。NET之间彷徨)回复于 2005-10-26 15:05:36 得分 0
你可以建一个TXT文件用于记录每个存储过程的用途、用法呀!200多个当然不多了,我建议能用存储过程的都用,反正我是这么用的。Top




