我对以下几点感到困惑。我有一个大约有1000万行的DB,并且(在其他索引中)1列(campaignid_int)是一个索引。
现在我有700k行,其中campaignid确实是3835
对于所有这些行,connectionid都是相同的。
我只想找出这个connectionid。
use messaging_db;
SELECT TOP (1) connectionid
FROM outgoing_messages WITH (NOLOCK)
WHERE (campaignid_int = 3835)
现在这个查询大约需要30秒来执行!
我(凭我的数据库知识)希望它接受任何行,并返回给我那个connectionid。
如果我在一个只有1个条目的活动中测试同样的查询,它会运行得非常快。所以索引起作用了。
我该如何解决这个问题?为什么这个不起作用?
编辑:
estimated execution plan:
select (0%) - top (0%) - clustered index scan (100%)
https://stackoverflow.com/questions/2453765
复制相似问题