在我的应用程序的一部分中,我必须获得满足条件的表的最后一个ID 例如:
SELECT(MAX) ID FROM TABLE WHERE Num = 2
所以我可以抓住整个表并循环查找Num = 2,或者我可以从Num = 2的表中获取数据。在后者中,我知道最后一项将是MAX ID。
无论哪种方式,我必须做大约50次...所以更有效地抓取所有数据并循环查找特定条件的数据列表...
或者根据条件多次获取数据会更好..我知道列表中的最后一项将是最大ID
我有6个条件,我必须将查询基于
我只是想知道哪个更有效...多次循环浏览大约3500个项目的列表,或多次点击数据库我已经可以像我需要的那样分解数据
答案 0 :(得分:2)
我可以代表SqlServer。如果您创建一个StoredProcedure,其中Num是您传递的参数,由于其存储过程的执行计划的优化引擎,您将获得最佳性能。当然,该字段的索引是强制性的。
答案 1 :(得分:0)
让数据库完成这项工作,这就是它的目的。
答案 2 :(得分:0)
此表的插入频率是否很高?它是否具有较高的更新频率,特别是在您应用MAX功能的列上?如果答案为否,您可以考虑添加IS_MAX BIT列并使用插入触发器进行设置。这样,你想要的行基本上是缓存的,查找它是微不足道的。