SQL:在一段时间内显示(接近)实时站点活动的最佳方法是什么?即“过去一小时内发送的消息”

| 目标是尽可能频繁地更新UI,但是性能是一个问题,应该最大程度地减少对数据库的访问。 我使用索引视图来保持非特定时间间隔的项目的最新统计信息,但是由于日期是不确定的,因此这不适用。 其他选择是: 每X分钟运行一次作业以收集统计信息。 添加触发器以响应插入。 每次/以定义的频率运行存储过程。 (大多数相关表已在相关日期被索引) 我还有其他未确定的选项吗?有没有针对此类问题的“首选”解决方案? Job / Trigger / SP选项如何比较?     
已邀请:
如果您以“固定”间隔运行,则可以使用存储聚簇索引键的查找表。假设键是一个“ 0”,您可以制作一个像这样的表:
Time Datetime,
Qtr_Hour int,
Half_Hour int,
Hour int 
运行执行以下查询:
SELECT COUNT(*)
FROM MyTable
WHERE ClusterKey > (SELECT Qtr_Hour
                    FROM LookupTable)
然后用
MAX(ClusterKey)
的新相关值更新表。 您将需要为用例制定详细信息,但是如果您有一个1行表,只是在查询时保持最新状态,并且它使用集群键作为参考点,则获取它的速度应该非常快自上次更新以来的行数上的增量。     

要回复问题请先登录注册