0

目标是尽可能频繁地更新 UI,但性能是一个问题,应尽量减少对数据库的访问。

我使用索引视图来保持不是特定时间间隔的项目的最新统计信息,但这不适用,因为日期是不确定的。

其他选择是:

  • 每 X 分钟运行一次作业以收集统计信息。

  • 添加触发器以响应插入。

  • 每次/以定义的频率运行存储过程。(大部分有关表格已于有关日期编入索引)

是否还有其他我尚未确定的选项,并且是否有针对此类问题的“首选”解决方案?Job/Trigger/SP 选项如何比较?

4

1 回答 1

0

如果您在“固定”时间间隔内运行,则可以使用存储聚集索引键的查找表。假设键是一个,INT Identity你可以制作一个像这样的表:

Time Datetime,
Qtr_Hour int,
Half_Hour int,
Hour int 

运行一个执行的查询:

SELECT COUNT(*)
FROM MyTable
WHERE ClusterKey > (SELECT Qtr_Hour
                    FROM LookupTable)

然后使用 的新相关值更新表MAX(ClusterKey)

您需要为您的用例制定详细信息,但如果您有一个 1 行表,您只需在查询时保持最新状态,并且它使用集群键作为参考点,那么获得自上次更新以来的行数增量。

于 2011-04-13T16:48:07.700 回答