0
我有一個包含組和許可列的表。我想從組列表中找到最大權限。我使用java和oracle數據庫,我想到了兩種方法可以做到這一點:sql查詢性能:查找最大值
方法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查詢長列表。
我不明白,爲什麼列表長度會影響'MAX()'的結果,除非你的查詢有缺陷? –
從哪裏得到這個組列表?我會假設它來自你的數據庫。在組表上使用內連接。然後你可以在數據庫上完成所有工作,而不必在查詢中提供整個組列表。 –
在oracle中,查詢中綁定變量的最大數量是有限制的。也許常量也有一個限制。無論如何,我認爲綁定變量的限制至少爲1000.如果存在任何限制,應該更高。 –