就是在使用LINQ的扩展函数single进行查询的时候,如果查询字段是由索引和非索引字段共同组成,例如:
t=>t.A == var1 && t.B == var2如果A是索引字段,B是非索引字段,那么查询的时候的是不是只要发现不匹配A字段,就不再进行B字段的判断呢?谢了

解决方案 »

  1.   

    thanks
    那么查询的效率不会因为引入了非索引的B字段而受到影响吧?
      

  2.   

    thanks
    那么查询的效率不会因为引入了非索引的B字段而受到影响吧?
    会有几个cup cycle的影响,因为匹配的情况还要比较选择中的行中B的值。
      

  3.   

    thanks
    那么查询的效率不会因为引入了非索引的B字段而受到影响吧?
    会有几个cup cycle的影响,因为匹配的情况还要比较选择中的行中B的值。
    影响有多大呢?
    因为索引字段A重复的几率很小,但是字段B是绝对不会重复的,因此我才试图用这种方式将唯一的那一个元组选择出来,但是又怕这样写会降低查询效率. 
    对于那些字段A都不匹配的情况,这样写的效率与直接single(t=>t.A == var1)相比较,会有效率的降低么?
      

  4.   

    "对于那些字段A都不匹配的情况,这样写的效率与直接single(t=>t.A == var1)相比较,会有效率的降低么? "
    2楼已经回复了。