繁体   English   中英

sql查询性能:查找最大值

[英]sql query performance: finding max

我有一个带有组和权限列的表。 我想从组列表中找到最大权限。 我正在使用java和oracle数据库,我想到了两种方法来做到这一点:

方法1:

in java loop through the group list
    result = select permission from table where group = currentgroup
    if result > max, max = result 

方式2:

max = select max(permission) from table where group in (group list)

我认为方法2会更快,但是组列表可能会很长,我不知道在单个sql查询中有长列表是否是个好主意。

根据您提供的信息,第二种方法到目前为止是最好的。 直接针对这些类型的任务对数据库进行了优化,因此在一定范围内,最好始终使用数据库来缩小数据范围。 第一种方法意味着数据库无论如何都需要返回所有值,从而增加了处理时间,带宽和Java应用程序中的内存消耗。

暂无
暂无

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

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