gpt4 book ai didi

java - MySQL "select distinct"性能

转载 作者:行者123 更新时间:2023-11-29 12:47:19 25 4
gpt4 key购买 nike

我的 Java 应用程序中有以下代码:

// Method #1
String sql = "select distinct ID from X inner join Y on ... where ..."
List<String> ids = jdbcTemplate.queryForList(query, String.class);

我正在尝试获取不同 ID 的列表(或集)。我在这里通过使用“选择不同”来完成此操作。

我的问题是,如果我省略“select unique”并使用 HashSet 实现,性能会更快吗? (参见方法#2。)

// Method #2
Set<String> ids = new HashSet<String>();
String sql = "select ID from X inner join Y on ... where ..."
ids.addAll(jdbcTemplate.queryForList(query, String.class));

最佳答案

举个例子,如果您的数据库中有 99K 条记录,但选择不同 只有 100 条。在这种情况下,您将要求 99K 记录,并使用 HashSet 来找出不同的记录。忘记了这是浪费时间和资源。

它的数据库端工作,让数据库来处理它并向您提供不同的值以便减少从一个地方传输到另一个地方的数据量。

因此,最好使用select unique,因为与其他方法相比,它总是更快。

关于java - MySQL "select distinct"性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25272446/

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