要从表中获取插入或更新的任何记录,我使用 created on date 来获取插入的记录并 update on date 以获取更新任何列的行。
简单的选择查询是:
SELECT *
FROM [Table] WITH (NOLOCK)
WHERE ([Table].CreatedOnDate >= @Date OR [Table].UpdatedOnDate >= @Date)
(@Date
只是传递给存储过程的一个参数)
现在这个表已经增长到超过 3000 万行,这个查询正在超时。
我可以使用 SQL Server 的[Rowversion]
列而不是这两个日期列来防止超时吗?Rowversion
搜索比日期搜索更快吗?