Sql server 索引列永远不会在sql server中使用

Sql server 索引列永远不会在sql server中使用,sql-server,Sql Server,在sql server 2012中,我有一个名为specialqueue的表,该表有10列,其中三列被索引,其类型为位 tbale specialqueue column1 column2 .....cloumn7 Isconfirmed(bit) IsDeleted(bit) IsSuspended(bit) 首先,我在isconfirm、IsDeleted和IsSuspended上创建索引 但是这个查询的实际执行计划是 SELECT IsDeleted,Id,[De

在sql server 2012中,我有一个名为specialqueue的表,该表有10列,其中三列被索引,其类型为位

tbale specialqueue 

        column1 column2 .....cloumn7  Isconfirmed(bit) IsDeleted(bit) IsSuspended(bit)
首先,我在isconfirm、IsDeleted和IsSuspended上创建索引

但是这个查询的实际执行计划是

 SELECT IsDeleted,Id,[Description] FROM sim WHERE IsDeleted=0 
我想快速完成的是这个查询

SELECT IsDeleted,Id,[Description] FROM sim WHERE IsDeleted=0  AND  IsSuspended =0 AND IsConfirmed = 1 
但在创建索引之后

  CREATE  INDEX [IX_IsDeleted_IsConfirmed] ON [dbo].[SpecialQueue]
  (
  [IsDeleted],[IsSuspended],[IsConfirmed]
  )
      GO
我仍然得到相同的执行计划,即扫描而不是搜索


如何提高上述查询的性能?

它的有用性是值得怀疑的-尤其是如果统计数据显示大多数数据都会很受欢迎的话。我想知道某种形式的过滤索引是否会更好。我会尝试一下,但目前我的执行计划中没有任何搜索,我的网站中有很多死区…我制作了一个非聚集过滤索引,但什么也没有发生在[dbo].[Sim][IsDeleted],[IsSuspended],[Isconfirm]上创建索引[IX_IsDeleted_Isconfirm]其中IsDeleted=0,IsConfigured=1,IsSuspended=0;统计数字是怎样的?桌子的多少部分符合这个条件?首先有多少行?我的桌子上有将近1百万行。我如何计算出现这种情况的百分比?我在生产中创建了上述索引,直到现在8个小时我还没有看到任何死锁