gpt4 book ai didi

java - 检索记录时使用 MySql 数据库的 ArrayList 性能

转载 作者:行者123 更新时间:2023-12-01 00:14:59 25 4
gpt4 key购买 nike

我有一个可以包含 1000 个用户的登录 ID 数据库。现在要检查用户是否存在,我正在做的是将我数据库的所有 LoginID 值存储到数组列表中,而不是使用检查它是否存在

代码:

while(result.next())
{
String str = result.getString(1);
LoginID_arraylist.add(str);
}

if(LoginID_arrayList.contains(loginid)
{
// if exist --> than another query using loginid
}

这是实现我想要的结果的好方法吗?我的替代方案是什么......如果我的体型进一步增大,它会影响我的表现吗??我正在使用 MySql 和 JDBC。

最佳答案

不要使用ArrayList 进行包含 搜索。这具有 O(n) 性能。相反,使用具有 O(1) 查找的 HashSet

但是,更好的做法是一开始就不要查询所有行。只需提出您的查询:

SELECT COUNT(*) FROM users WHERE login_id = ?

然后看结果是否为0

关于java - 检索记录时使用 MySql 数据库的 ArrayList 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6285087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com