From 987fb7b56afde082e373d3d68a14481c638b34be Mon Sep 17 00:00:00 2001 From: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com> Date: Sat, 21 Jan 2023 12:17:46 +0200 Subject: [PATCH] Optimized server player list table query Original benchmark: 4 seconds Improved benchmark: 500 milliseconds -> 8x faster --- .../queries/ExtensionServerTableDataQuery.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerTableDataQuery.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerTableDataQuery.java index 04c96bb02..48d4c8585 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerTableDataQuery.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/storage/queries/ExtensionServerTableDataQuery.java @@ -76,10 +76,9 @@ public class ExtensionServerTableDataQuery implements Query> fetchPlayerData() { String selectLimitedNumberOfPlayerUUIDsByLastSeenDate = SELECT + - UsersTable.USER_UUID + ",MAX(" + SessionsTable.SESSION_END + ") as last_seen" + + SessionsTable.USER_ID + ",MAX(" + SessionsTable.SESSION_END + ") as last_seen" + FROM + SessionsTable.TABLE_NAME + - INNER_JOIN + UsersTable.TABLE_NAME + " u on u." + UsersTable.ID + '=' + SessionsTable.TABLE_NAME + '.' + SessionsTable.USER_ID + - GROUP_BY + UsersTable.USER_UUID + + GROUP_BY + SessionsTable.USER_ID + ORDER_BY + "last_seen DESC LIMIT ?"; String sql = SELECT + @@ -98,7 +97,8 @@ public class ExtensionServerTableDataQuery implements Query> fetchPlayerGroups() { String selectLimitedNumberOfPlayerUUIDsByLastSeenDate = SELECT + - UsersTable.USER_UUID + "," + + SessionsTable.USER_ID + "," + "MAX(" + SessionsTable.SESSION_END + ") as last_seen" + FROM + SessionsTable.TABLE_NAME + - INNER_JOIN + UsersTable.TABLE_NAME + " u on u." + UsersTable.ID + '=' + SessionsTable.TABLE_NAME + '.' + SessionsTable.USER_ID + - GROUP_BY + UsersTable.USER_UUID + + GROUP_BY + SessionsTable.USER_ID + ORDER_BY + "last_seen DESC LIMIT ?"; String sql = SELECT + @@ -139,7 +138,8 @@ public class ExtensionServerTableDataQuery implements Query