sql-server – 如何定期重建经常访问的报表?
发布时间:2020-12-12 08:44:06 所属栏目:MsSql教程 来源:网络整理
导读:刷新准备的报告表大约需要5-10分钟.我们想不断刷新这个表(也许每15分钟一次或连续一次). 我们非常频繁地(每分钟多次)查询这份报告表,我不能在任何时间内保持下去.如果数据是15分钟,那还可以. 我不能掉桌子,重新创建它.我无法删除表的内容并重新创建它. 有没有
刷新准备的报告表大约需要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的方式轮播 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |