作业还是触发器,哪种效率和消耗好一些。

earthpea 2010-02-09 11:29:57
准备写一个应用,但请教一下大家,是作业还是触发器的效率、消耗方面,哪种更好一些呢?

该应用使用数据库邮件来发送邮件,有一张表,字段就是收件人、抄送、密送、主题、内容和发送时间,现在想使用二种方法:1、写一个作业,每一分钟或二分钟运行一次,select * from 表 where 发送时间 <= getdate() and 发送标志 = 未发送,然后用游标方式将每一封信发出,并update 发送标志 = 已发送,如果是需要实时发送的邮件,就把发送时间向前写一个小时再插入;2、再建一张表,在那张表上建立一个触发器,如果是实时发送的邮件,就直接插入这张表中,然后是延时发送的邮件,还是按第一种方法,但就不用再考虑发送,只是将select出来的数据插入到这张表。

邮件量不会太大,一是员工不多,现阶段是三百多人,如果全面推广也有是五千多人使用,其次这个应用主要用于事务提醒及工作进度邮件通知。

大家认为哪种方法更好一些,或者还有更多的好办法吗?
...全文
138 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xian_wwq 2010-02-10
  • 打赏
  • 举报
回复
作业没有在工程中用过,
触发器慎用,
特别是触发处理流程比较复杂,
耗时过长,数据库连接会抛例外退出。
earthpea 2010-02-09
  • 打赏
  • 举报
回复
回五楼,因为除了发送实时邮件外,还有些邮件要定时发送的,比如说待办事宜提醒这些

回六楼,除了自己编写外,有没有好一点的现成的小软件呢?需要直接读取数据库的记录来进行操作。
starseeker7 2010-02-09
  • 打赏
  • 举报
回复
恩單獨用服務器端程式進行發送,,,
幸运的意外 2010-02-09
  • 打赏
  • 举报
回复
我觉得,用俩个都不怎么好.如果用作业且数据太多,2分钟内处理不完,新作业倍启动,就处于竞争状态了.触发器更不好.建议楼主写一个送信的工具,用C#或者VB都可以,用这个程序来发信,效果比较好.
playwarcraft 2010-02-09
  • 打赏
  • 举报
回复
不如直接在asp网站上,操作后,发送mail
也就是说,用程式来发送比較好。。。
earthpea 2010-02-09
  • 打赏
  • 举报
回复
回一楼,不用带附件,只是通知一下某时有某事及“请及时处理某事”,而且也不是C/S模式,是B/S模式,由asp和asp.net网站根据使用者的需求插入表中的,因此我想用数据库邮件应该可以了吧

回二、三楼,请教一下,用什么方式会更好一些呢?谢谢
playwarcraft 2010-02-09
  • 打赏
  • 举报
回复
引用 2 楼 yang_ 的回复:
都不好,发邮件这种事不是数据库该做的

强烈同意
Yang_ 2010-02-09
  • 打赏
  • 举报
回复
都不好,发邮件这种事不是数据库该做的
starseeker7 2010-02-09
  • 打赏
  • 举报
回复
顯然你要做實實發送只有用觸發器
就效率而言必然是1-2分鐘集中發送一次來得高
還有對MSSQL來説5000人不是小數目
特別是C/S模式,,,若還好率附件上傳得話
Rotel-刘志东 2010-02-09
  • 打赏
  • 举报
回复
sql server2005有这种功能,最好还是不用它!为什么有专门的邮件系统能。
haochin 2010-02-09
  • 打赏
  • 举报
回复
引用 3 楼 playwarcraft 的回复:
引用 2 楼 yang_ 的回复:都不好,发邮件这种事不是数据库该做的
强烈同意


是啊,我在一个客户那里也搞了一个用sql server 来发邮件的东东。

大约是一天400条的量,结果是经常的邮件发不出去。大约只有70%左右的邮件成功发出了。
Yang_ 2010-02-09
  • 打赏
  • 举报
回复
研究下Service Broker
obuntu 2010-02-09
  • 打赏
  • 举报
回复
我也希望这个问题能得到解答。
通过数据库将相关信息传达给相关人员,我觉得是一种很好的处理方式,可以主动的将数据库及时传达给用户,达到一定程度的自动化,这会是件非常好的应用。:)
sdnjiejie65 2010-02-09
  • 打赏
  • 举报
回复
学习,做个标记...

34,593

社区成员

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

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