存储过程编写 触发器利用,兼顾散分

zzz1975 2009-07-07 08:45:05
1,存储过程编写带参数 需要注意什么,怎么优化比较好

2,触发器在什么情况利用比较好?
3,函数在sql中效率高吗?

三个问题,大家可以讨论,发表自己感受和见解,好的答案 一定多给分
...全文
66 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzz1975 2009-07-08
  • 打赏
  • 举报
回复
明天结贴,欢迎引玉,感谢麦迪回答
forum2621 2009-07-07
  • 打赏
  • 举报
回复
新手,很多不懂,来学写下
武哥博文 2009-07-07
  • 打赏
  • 举报
回复
函数和存储过程效率差不多,触发器尽量少用。至于优化则很难了,需要一定的经验。
--小F-- 2009-07-07
  • 打赏
  • 举报
回复
1.需要自己去体会 去查查资料
2.说实话,一般情况下建议不使用触发器,不过触发器比数据库本身标准的功能有更精细和更复杂的数据控制能力。经常用于加强数据的完整性约束和业务规则等.这些时候就可以用到
3.不建议使用函数,能不使用尽量少使用
from911cs 2009-07-07
  • 打赏
  • 举报
回复
关注高人解答
from911cs 2009-07-07
  • 打赏
  • 举报
回复
1、应用程序与sql server 数据库交互执行某些操作有两种方法;其一就是写个存储过程,其中记录了一系列的操作,每次应用程序只需要调用该过程就可完成该操作。其效率比在前台直接拼sql 节省了系统内存,速度也快。
尽量不要用游标。
http://book.77169.org/ask29/how200430.htm

2、当用户修改指定的表或视图中的数据时,用触发器。触发器可以用于对表实施复杂的完整性约束。当触发器所保护的数据发生改变时,触发器会自动运行,从而防止对数据恢的不正确修改。比如:一条记录在两个表中同时存在,在更新一个表的记录时,另一个表中的记录也需要更新,这时用触发器比较好。
3、函数是由一条或多条T-SQL语句组成的代码段,用于实现一些常用的功能。编写好的函数可以重复使用。效率自然高。系统内置函数主要是实现数据类型转换,数学计算,统计功能等,效率吗!你们自已认为怎样就怎样了!
zl3450341 2009-07-07
  • 打赏
  • 举报
回复
UP
Hemingway718 2009-07-07
  • 打赏
  • 举报
回复
U
P
feixianxxx 2009-07-07
  • 打赏
  • 举报
回复
我给LZ一句话: 函数 基本可以用存储过程代替 不推荐用函数。
触发器 你知道的 一个表就三个 多了不好 写的不好 增加代价 不推荐使用
至于第一个,积累吧
ai_li7758521 2009-07-07
  • 打赏
  • 举报
回复
1,存储过程编写带参数 需要注意什么,怎么优化比较好
参数,没太多要注意的,类型用对了基本没多少问题。优化是个大话题,这个一下不好说,要多多实验积累的
2,触发器在什么情况利用比较好?
a.触发器用于在保持多表数据更改的一致性上比较好,用其他的对象一般没有触发器可靠
b.SQL 2005支持DDL触发器,可以获取CREATE、ALTER、DROP 和其他 DDL 操作,然后做相应操作。
3,函数在sql中效率高吗?
一般不建议使用函数,效率不大好。
等不到来世 2009-07-07
  • 打赏
  • 举报
回复
1.SP会对读入的参数做自动的类型转换。
优化:清晰的逻辑+精炼的语句+不用游标

2.一般项目用不着触发器,用不好反而增加开发成本。

3.函数效率不高,尽量少用。只有在某个小功能被大量反复重用的时候,可以考虑使用函数。
ks_reny 2009-07-07
  • 打赏
  • 举报
回复
存儲過程的參數要注意參數類型,形參和實參要一致.
當數據發生變化時要處理某些業務可以用觸發器實現.
drysea 2009-07-07
  • 打赏
  • 举报
回复
关注
dj3688 2009-07-07
  • 打赏
  • 举报
回复
关注
JonasFeng 2009-07-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 zzz1975 的回复:]
1,存储过程编写带参数 需要注意什么,怎么优化比较好

2,触发器在什么情况利用比较好?
3,函数在sql中效率高吗?

三个问题,大家可以讨论,发表自己感受和见解,好的答案 一定多给分
[/Quote]
1.存储过程的优化面太大了。写多了。就能自己总结出点经验来。
2.触发器一般在进行记录操作的时候,同时进行的操作
3.函数的效率不高,除非在迫不得已的情况下,才使用。
zzz1975 2009-07-07
  • 打赏
  • 举报
回复
笼统,大家才能发表自己意见,具体了就窄了,希望大家继续,已经有四个帖子可以得10分,只要要有8个10分才可以结贴
huwq 2009-07-07
  • 打赏
  • 举报
回复
学习了。
hery2002 2009-07-07
  • 打赏
  • 举报
回复
1,存储过程编写带参数 需要注意什么,怎么优化比较好
--存储过程可以带参数,也可以不带参数.带参数时需要注意参数的顺序,参数类型,还有参数的边界判断等等.
--关于存储过程的优化,多看看查询优化,还有就是多练习,多比较,这个总结起来比较费劲.
2,触发器在什么情况利用比较好?
--关于触发器的说法不一,很多人喜欢在很多地方都使用,通常情况下,对于DDL操作的记录,或者对于数据的
--VERSION或者datetime等log控制一般使用触发器,其他情况下,建议使用存储过程配合业务逻辑来完成.
3,函数在sql中效率高吗?
--数据量小时可以使用函数,数据量大时不推荐,特别是在WHERE子句中.
Teng_s2000 2009-07-07
  • 打赏
  • 举报
回复
这问题很是笼统!
playwarcraft 2009-07-07
  • 打赏
  • 举报
回复
加载更多回复(7)

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧