在SQL查询中,添加“TOP 1”SELECT TOP 1 [values] FROM [TABLE] where [TABLE].Value = ABC 当我知道那些记录中只有一个时,我会提高性能吗?具体来说,我正在考虑LinqToSql和方法之间的区别.单(…)和.First(…),其中...

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


基础教程推荐
- 自定义WPF窗体形状的实战记录 2022-12-31
- C#中winform中panel重叠无法显示问题的解决 2023-02-02
- Winform利用分页控件实现导出PDF文档功能 2023-07-18
- C#过滤sql特殊字符串的方法 2023-06-21
- Unity实现动物识别的示例代码 2023-05-16
- c# – SqlConnection InfoMessage不使用BeginExecuteNonQuery 2023-11-09
- C#用websocket实现简易聊天功能(服务端) 2023-05-16
- c# – 如何在Flurl库中使用Windows身份验证? 2023-09-20
- Unity Shader实现3D翻页效果 2023-04-26
- Unity使用LineRender实现绘画功能 2023-03-03