我有一个表(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
我的测试查询只是:
select top 10000 [field list] where Source = 'abc'
keithwarren7.. 5
您需要查看查询计划并查看它是否正在使用该新索引 - 如果它不是有一些东西.一个 - 它可能有一个正在使用的缓存查询计划,自创建新索引以来,该计划尚未失效.如果不是这种情况,你也可以尝试索引提示[With(Index(yourindexname))].
10,000,000行并非闻所未闻,它应该读得非常快.
您需要查看查询计划并查看它是否正在使用该新索引 - 如果它不是有一些东西.一个 - 它可能有一个正在使用的缓存查询计划,自创建新索引以来,该计划尚未失效.如果不是这种情况,你也可以尝试索引提示[With(Index(yourindexname))].
10,000,000行并非闻所未闻,它应该读得非常快.