首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java中查询MySQL数据库,指定需要哪些字段更有效吗?

在Java中查询MySQL数据库,指定需要哪些字段更有效吗?
EN

Stack Overflow用户
提问于 2014-11-10 23:36:07
回答 1查看 66关注 0票数 0

在Java中查询MySQL数据库,同时指定查询中的字段,还是使用*通配符更有效?

我目前的代码是

代码语言:javascript
复制
try (Statement statement = SQL.connection.createStatement()) {
                    try (ResultSet rs = statement.executeQuery("SELECT player_name, ip FROM " + SQL.database + "." + TableType.PlayerProfile.tableName + " WHERE ip='" + getPlayerIP(args[0]) + "' AND not(player_name='" + args[0] + "');")) {
                        if (!rs.isBeforeFirst()) {
                            sender.sendMessage("§7No accounts are associated with this player's ip");
                        } else {
                            sender.sendMessage("§7" + getServer().getOfflinePlayer(args[0]).getName() + "'s §lpossible §7alternative accounts:");
                            while (rs.next()) if (!args[0].equalsIgnoreCase(rs.getString("player_name"))) sender.sendMessage("§7" + getServer().getOfflinePlayer(rs.getString("player_name")).getName());
                        }
                    }
                } catch (Exception exception) {
                    exception.printStackTrace();
                }    

所以查询是

代码语言:javascript
复制
"SELECT player_name, ip FROM " + SQL.database + "." + TableType.PlayerProfile.tableName + " WHERE ip='" + getPlayerIP(args[0]) + "' AND not(player_name='" + args[0] + "');"

然后使用Java代码rs.getString("player_name")获取我需要的一个字段(稍后对ip字段做同样的操作)

这是否有效,还是应该使用*通配符,而不是指定我将在Java代码中使用的字段?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-10 23:46:47

当然,指定/减少要访问的字段更有效。减少了RDBMS要访问的数据。减少通过网络传输的数据,以防您试图访问远程DB。此外,*说明符并不保证返回字段的顺序。如果您的代码应该与不同的DB引擎一起工作,那么您可能会惊讶地看到返回的第3列引用了不同的内容(就这样做了)。因此,即使您试图访问一个语句/表的全部宽度,仍然可以显式地指定您想要访问的cols。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26855015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档