关于使用LINQ进行索引和非索引组合查询的问题

lanlicen 2013-04-26 10:44:18
就是在使用LINQ的扩展函数single进行查询的时候,如果查询字段是由索引和非索引字段共同组成,例如:
t=>t.A == var1 && t.B == var2

如果A是索引字段,B是非索引字段,那么查询的时候的是不是只要发现不匹配A字段,就不再进行B字段的判断呢?

谢了
...全文
243 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxingmin 2013-04-26
  • 打赏
  • 举报
回复
发现前面条件不成立,后面的And不比较了,所以不存在效率问题
lanlicen 2013-04-26
  • 打赏
  • 举报
回复
sorry,其实我想问的是这样写的效率问题...... 因为索引字段A重复的几率很小,但是字段B是绝对不会重复的,因此我才试图用这种方式将唯一的那一个元组选择出来,但是又怕这样写会降低查询效率. 对于那些字段A都不匹配的情况,这样写的效率与直接single(t=>t.A == var1)相比较,会有效率的降低么?
q107770540 2013-04-26
  • 打赏
  • 举报
回复

--single 语句翻译成对应的SQL是这样子的:
--具体的怎么样执行的,就和LINQ没有关系了,是数据库端查询的事情了
SELECT * FROM T t WHERE (t.A='var1') AND (t.B='var2')
lanlicen 2013-04-26
  • 打赏
  • 举报
回复
引用 3 楼 gxingmin 的回复:
发现前面条件不成立,后面的And不比较了,所以不存在效率问题
但是A字段是索引,B字段是非索引啊 对于那些A字段不满条件的元组的效率也没有影响么?

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧