当前位置:  开发笔记 > 数据库 > 正文

SQL Server索引没有帮助

如何解决《SQLServer索引没有帮助》经验,为你挑选了1个好方法。

我有一个表(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行并非闻所未闻,它应该读得非常快.



1> keithwarren7..:

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

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

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有