问个数据库的问题——请问Sql Server中是否存在自动维护表内容的功能?

lxxxjj 2006-11-16 03:58:04
现在有一自定义的数据库函数,处理结果是3万多条记录,执行完后,估计要40秒左右,用程序调用后,会提示操作超时。
请问,SQL SERVER数据库有没有这样的功能:将该函数的处理结果保存成一个物理表,而且当函数的数据源对应的表有更改时,该表的内容也能自动更新?
...全文
130 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxfzhxf1 2006-11-16
  • 打赏
  • 举报
回复
"函数的内容也没有什么复杂的计算,就两个表进行关联之后,再也另两个表的分组求和关联,再在外层做一个简单的加减求和的运算,应该不算复杂吧,忧化的余地了吧?"

优化的余地应该还不少,如果你并不是专门做数据库开发的。
YapEro 2006-11-16
  • 打赏
  • 举报
回复
一般情况下
即时更新用触发器(也没什么不好管理的,再多的触发器也可以在查询分析器里列表显示),
批量更新空闲时作业执行存储过程

但无论哪种方法优化数据结构,正确添加索引,优化处理函数是首要的。
lxxxjj 2006-11-16
  • 打赏
  • 举报
回复
pingpangqiuliuji(独孤求败) :
1、才三万多条数据,就耗时40秒了,如果数据再多一些呢?设置延长时间是不可取的;
2、函数的内容也没有什么复杂的计算,就两个表进行关联之后,再也另两个表的分组求和关联,再在外层做一个简单的加减求和的运算,应该不算复杂吧,忧化的余地了吧?
pingpangqiuliuji 2006-11-16
  • 打赏
  • 举报
回复
我觉得可以重两个方面去解决你说的问题:

1.执行40秒是有点长,但是还是可以接受的.程序出现操作超时,估计是你的连接设置执行时间太小了,把它改大一点.

2:数据库涵数的执行效率是否可以提高一下,优化一下数据库自定义涵数.
xjjdanran 2006-11-16
  • 打赏
  • 举报
回复
只知道触发器可以实现,其它有什么方法?关注一下
lxxxjj 2006-11-16
  • 打赏
  • 举报
回复
触发器管理不方便,而且容易出错,有其它办法吗?
  • 打赏
  • 举报
回复
做在触发器上可以实现

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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