SQL Server索引没有帮助

Sco*_*acs 0 sql-server indexing sql-server-2000

我有一个表(SQL 2000),有超过10,000,000条记录.记录的增加速度约为每周80,000-100,000.每周一次,从数据中生成一些报告.报告通常运行起来相当慢,因为索引很少(可能是为了加速INSERT).一个新报告确实可以从特定"char(3)"列的附加索引中受益.

我使用企业管理器添加了索引(管理索引 - >新建 - >选择列,确定),甚至重建了表上的索引,但SELECT查询根本没有加速.有任何想法吗?

更新:

表定义:

ID, int, PK
Source, char(3)  <--- column I want indexed
...
About 20 different varchar fields
...
CreatedDate, datetime
Status, tinyint
ExternalID, uniqueidentifier
Run Code Online (Sandbox Code Playgroud)

我的测试查询只是:

select top 10000 [field list] where Source = 'abc'
Run Code Online (Sandbox Code Playgroud)

kei*_*en7 5

您需要查看查询计划并查看它是否正在使用该新索引 - 如果它不是有一些东西.一个 - 它可能有一个正在使用的缓存查询计划,自创建新索引以来,该计划尚未失效.如果不是这种情况,你也可以尝试索引提示[With(Index(yourindexname))].

10,000,000行并非闻所未闻,它应该读得非常快.