如何从查询中排除索引

时间:2017-01-06 05:34:08

标签: sql-server

我最近为一个包含大约2000万行的表添加了一个索引,以提高某些查询的性能。这很好用。问题在于,每天生成几个统计数据,现在,使用该索引,其中一个查询现在花费的时间太长(从几分钟到30分钟后超时)。

我查看了表提示,只看到了如何指定索引的使用而不是如何排除索引的使用。我错过了什么?有没有办法强制执行计划不使用索引?我宁愿保留索引,但如果在夜间统计数据生成中无法将其排除,则会将其删除。

2 个答案:

答案 0 :(得分:1)

很难在不查看查询的情况下知道,但这听起来像以下情况可能会有所帮助:

SELECT * FROM MyTable WITH (INDEX(0))
WHERE MyColumn = 'MyValue'

如果这对您不起作用,那么您可能需要发布一些有关查询内容的其他信息。

答案 1 :(得分:0)

如果你这样做

SELECT *
FROM [Table] WITH (INDEX(0))
WHERE "IndexColumn" = 0

将触发tablescan。