0

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

SELECT(MAX) ID FROM TABLE WHERE Num = 2

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

无论哪种方式,我都必须这样做大约 50 次......所以抓取所有数据并循环遍历数据列表以寻找特定条件会更有效......

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

我有 6 个条件,我必须根据这些条件进行查询

我只是想知道哪个更有效...循环遍历大约 3500 个项目的列表几次,或者多次访问数据库,我已经可以像我需要的那样分解数据

4

3 回答 3

2

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

于 2012-05-31T15:33:47.407 回答
0

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

于 2012-05-31T15:28:07.967 回答
0

这个表的插入频率高吗?它的更新频率是否很高,特别是在您应用 MAX 函数的列上?如果答案是否定的,您可以考虑添加 IS_MAX BIT 列并使用插入触发器进行设置。这样一来,你想要的行基本上就被缓存了,查找起来很简单。

于 2012-05-31T15:31:53.453 回答