From f7512b27c3b1f3d36ca4ecacbc54f0e96b4de625 Mon Sep 17 00:00:00 2001 From: Matt Parnell Date: Mon, 18 Aug 2014 22:55:02 -0500 Subject: [PATCH] replace use of select wildcard, which uses more DB resources with a call to count the number of characters an account has in CharacterService.java --- src/services/CharacterService.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index ee3e880c..9e72b780 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -523,10 +523,12 @@ public class CharacterService implements INetworkDispatch { PreparedStatement preparedStatement; int characters = 0; try { - preparedStatement = databaseConnection.preparedStatement("SELECT * FROM characters WHERE \"accountId\"=" + accountId + ""); + preparedStatement = databaseConnection.preparedStatement("SELECT COUNT(*) AS charCount FROM characters WHERE \"accountId\"=" + accountId); ResultSet resultSet = preparedStatement.executeQuery(); - while(resultSet.next() && !resultSet.isClosed()) - characters++; + + characters = 0; + if (resultSet.next() && !resultSet.isClosed()) + characters = resultSet.getInt("charCount"); } catch (SQLException e) { e.printStackTrace(); }