【发布时间】:2013-03-19 01:25:21
【问题描述】:
我们的 MS SQL Server 数据库有一个表 T,其中包含以下字段和数据:
Name | Begin | End
-----------------------
A | 3 | 6
B | 2 | 4
C | 4 | 5
...................
我通常使用如下查询:
SELECT *
FROM T
WHERE 5 BETWEEN Begin AND End
查找在“开始”和“结束”字段之间包含常量 5 的记录。执行计划是执行全表扫描。如何设计表结构和索引以避免表扫描?谢谢!
【问题讨论】:
-
是否有包含开始和结束日期的索引?
-
没错。谢谢!
标签: sql sql-server indexing query-optimization