繁体   English   中英

C#SQL Server - 通过数据访问多个数据库或多个循环更高效?

[英]C# SQL Server - More Efficient for Multiple Database accesses or multiple loops through data?

在我的应用程序的一部分,我必须得到满足条件的表的最后一个ID例如:

SELECT(MAX) ID FROM TABLE WHERE Num = 2

所以我可以抓住整个表并循环查找Num = 2,或者我可以从Num = 2的表中获取数据。在后者中,我知道最后一项将是MAX ID。

无论哪种方式,我必须做大约50次...所以更有效地抓取所有数据并循环查找特定条件的数据列表...

或者根据条件多次获取数据会更好..我知道列表中的最后一项将是最大ID

我有6个条件,我将基于查询

我只是想知道哪个更有效...循环遍历大约3500个项目的列表,或多次点击数据库,我已经可以将数据分解为我需要它

我可以代表SqlServer。 如果您创建一个StoredProcedure,其中Num是您传递的参数,由于其存储过程的执行计划的优化引擎,您将获得最佳性能。 当然,该字段的索引是强制性的。

让数据库完成这项工作,这就是它的目的。

该表的插入频率是否很高? 它是否具有较高的更新频率,特别是在您应用MAX功能的列上? 如果答案为否,您可以考虑添加IS_MAX BIT列并使用插入触发器进行设置。 这样,你想要的行基本上是缓存的,查找起来很简单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM