Jas*_*ore 4 c# sql linq-to-sql
在SQL查询中,添加"TOP 1"
SELECT TOP 1 [values] FROM [TABLE] where [TABLE].Value = "ABC"
Run Code Online (Sandbox Code Playgroud)
当我知道那些记录中只有一个时,我会提高性能吗?具体来说,我正在考虑LinqToSql和方法之间的区别,.Single(...)并.First(...)在其中.First(...)添加TOP 1生成的sql.
LinqToSql已经感觉很慢,所以我只是想办法让它更快.
编辑:[TABLE].Value在某些情况下可能是外键.
一旦找到第一个结果,TOP 1选择应该终止,是的,根据您的查询,它可能会快得多.另一方面,您真的想要考虑数据中未检测到的不一致的语义和潜在含义.如果真的只有一个匹配,Single()是最合适的.如果您有多个匹配并使用Single(),您将获得异常,并且可以了解数据或代码中的错误.在你的情况下我会使用Single().为了使查询更快,我会考虑在我用作鉴别器的列上添加索引.
| 归档时间: |
|
| 查看次数: |
750 次 |
| 最近记录: |