【发布时间】:2012-06-04 13:34:13
【问题描述】:
场景:
具有大量记录(200 万)的日志表,带有时间戳字段。 除了作为主键的 ID 之外没有索引,并且索引(或任何其他持久对象)的创建是不可能的
我想选择昨天的所有记录。
我知道有几种方法可以做到这一点,我只是想就“最佳”方式提出意见,最好是指最快的方式。
这里的诀窍是时间戳的“时间”,因为如果现在是上午 11 点,我会执行以下操作:
where modifiedDate between dateadd(dd,-1,getdate()) and getdate()
我只会在 11 点获取昨天的记录,并将获取今天的数据
它的 sql 2005 所以没有“日期”数据类型
【问题讨论】:
标签: sql performance sql-server-2005 date time