刷新准备的报告表大约需要5-10分钟.我们想不断刷新这个表(也许每15分钟一次或连续一次).
我们非常频繁地(每分钟多次)查询这份报告表,我不能在任何时间内保持下去.如果数据是15分钟,那还可以.
有没有一个我应该使用的技术,就像在两个表之间进行交换(从一个建立另一个表时读取),还是将这5-10分钟的进程放在大型事务中?
解决方法
Use synonyms?.创作时,指向表A.
CREATE SYNONYM ReportingTable FOR dbo.tableA;
15分钟后,您创建tableB并重新定义同义词
DROP SYNONYM ReportingTable; CREATE SYNONYM ReportingTable FOR dbo.tableB;
同义词仅仅是指向实际表的指针:这样一来,实际表重命名等的处理被简化和抽象化,所有代码/客户端都将使用ReportingTable
编辑,2011年11月24日
所有版本中都有同义词:分区切换仅限于Enterprise / Developer.
编辑,2012年2月
您可以在标准版中切换整个表(也许Express,未经测试)
ALTER TABLE .. SWITCH ..
如果目标表为空,这将比同义词更优雅.
编辑,2012年2月(2)
此外,您可以按照Caching joined tables in SQL Server的方式轮播
原文地址:https://www.jb51.cc/mssql/75495.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。