Improvements for RankManager queries.

Contributed by CostyKiller.
This commit is contained in:
MobiusDevelopment 2020-10-28 22:51:11 +00:00
parent 563200d255
commit 45a80cc0d7
4 changed files with 16 additions and 8 deletions

View File

@ -39,10 +39,12 @@ public class RankManager
{
private static final Logger LOGGER = Logger.getLogger(RankManager.class.getName());
public static final Long TIME_LIMIT = 2592000000L; // 30 days in milliseconds
public static final long CURRENT_TIME = System.currentTimeMillis();
public static final int PLAYER_LIMIT = 100;
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE accesslevel = 0 AND level > 84 ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE accesslevel = 0 AND level > 84 AND race = ? ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE (" + CURRENT_TIME + " - cast(lastAccess as signed) < " + TIME_LIMIT + ") AND accesslevel = 0 AND level > 84 ORDER BY exp DESC, onlinetime DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE (" + CURRENT_TIME + " - cast(lastAccess as signed) < " + TIME_LIMIT + ") AND accesslevel = 0 AND level > 84 AND race = ? ORDER BY exp DESC, onlinetime DESC LIMIT " + PLAYER_LIMIT;
private static final String GET_CURRENT_CYCLE_DATA = "SELECT characters.char_name, characters.level, characters.base_class, characters.clanid, olympiad_nobles.charId, olympiad_nobles.olympiad_points, olympiad_nobles.competitions_won, olympiad_nobles.competitions_lost FROM characters, olympiad_nobles WHERE characters.charId = olympiad_nobles.charId ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;
private static final String GET_CHARACTERS_BY_CLASS = "SELECT characters.charId, olympiad_nobles.olympiad_points FROM characters, olympiad_nobles WHERE olympiad_nobles.charId = characters.charId AND characters.base_class = ? ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;

View File

@ -39,10 +39,12 @@ public class RankManager
{
private static final Logger LOGGER = Logger.getLogger(RankManager.class.getName());
public static final Long TIME_LIMIT = 2592000000L; // 30 days in milliseconds
public static final long CURRENT_TIME = System.currentTimeMillis();
public static final int PLAYER_LIMIT = 100;
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE accesslevel = 0 AND level > 84 ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE accesslevel = 0 AND level > 84 AND race = ? ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE (" + CURRENT_TIME + " - cast(lastAccess as signed) < " + TIME_LIMIT + ") AND accesslevel = 0 AND level > 84 ORDER BY exp DESC, onlinetime DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE (" + CURRENT_TIME + " - cast(lastAccess as signed) < " + TIME_LIMIT + ") AND accesslevel = 0 AND level > 84 AND race = ? ORDER BY exp DESC, onlinetime DESC LIMIT " + PLAYER_LIMIT;
private static final String GET_CURRENT_CYCLE_DATA = "SELECT characters.char_name, characters.level, characters.base_class, characters.clanid, olympiad_nobles.charId, olympiad_nobles.olympiad_points, olympiad_nobles.competitions_won, olympiad_nobles.competitions_lost FROM characters, olympiad_nobles WHERE characters.charId = olympiad_nobles.charId ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;
private static final String GET_CHARACTERS_BY_CLASS = "SELECT characters.charId, olympiad_nobles.olympiad_points FROM characters, olympiad_nobles WHERE olympiad_nobles.charId = characters.charId AND characters.base_class = ? ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;

View File

@ -39,10 +39,12 @@ public class RankManager
{
private static final Logger LOGGER = Logger.getLogger(RankManager.class.getName());
public static final Long TIME_LIMIT = 2592000000L; // 30 days in milliseconds
public static final long CURRENT_TIME = System.currentTimeMillis();
public static final int PLAYER_LIMIT = 100;
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE accesslevel = 0 AND level > 84 ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE accesslevel = 0 AND level > 84 AND race = ? ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE (" + CURRENT_TIME + " - cast(lastAccess as signed) < " + TIME_LIMIT + ") AND accesslevel = 0 AND level > 84 ORDER BY exp DESC, onlinetime DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE (" + CURRENT_TIME + " - cast(lastAccess as signed) < " + TIME_LIMIT + ") AND accesslevel = 0 AND level > 84 AND race = ? ORDER BY exp DESC, onlinetime DESC LIMIT " + PLAYER_LIMIT;
private static final String GET_CURRENT_CYCLE_DATA = "SELECT characters.char_name, characters.level, characters.base_class, characters.clanid, olympiad_nobles.charId, olympiad_nobles.olympiad_points, olympiad_nobles.competitions_won, olympiad_nobles.competitions_lost FROM characters, olympiad_nobles WHERE characters.charId = olympiad_nobles.charId ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;
private static final String GET_CHARACTERS_BY_CLASS = "SELECT characters.charId, olympiad_nobles.olympiad_points FROM characters, olympiad_nobles WHERE olympiad_nobles.charId = characters.charId AND characters.base_class = ? ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;

View File

@ -39,10 +39,12 @@ public class RankManager
{
private static final Logger LOGGER = Logger.getLogger(RankManager.class.getName());
public static final Long TIME_LIMIT = 2592000000L; // 30 days in milliseconds
public static final long CURRENT_TIME = System.currentTimeMillis();
public static final int PLAYER_LIMIT = 100;
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE accesslevel = 0 AND level > 84 ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE accesslevel = 0 AND level > 84 AND race = ? ORDER BY exp DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS = "SELECT charId,char_name,level,race,base_class, clanid FROM characters WHERE (" + CURRENT_TIME + " - cast(lastAccess as signed) < " + TIME_LIMIT + ") AND accesslevel = 0 AND level > 84 ORDER BY exp DESC, onlinetime DESC LIMIT " + PLAYER_LIMIT;
private static final String SELECT_CHARACTERS_BY_RACE = "SELECT charId FROM characters WHERE (" + CURRENT_TIME + " - cast(lastAccess as signed) < " + TIME_LIMIT + ") AND accesslevel = 0 AND level > 84 AND race = ? ORDER BY exp DESC, onlinetime DESC LIMIT " + PLAYER_LIMIT;
private static final String GET_CURRENT_CYCLE_DATA = "SELECT characters.char_name, characters.level, characters.base_class, characters.clanid, olympiad_nobles.charId, olympiad_nobles.olympiad_points, olympiad_nobles.competitions_won, olympiad_nobles.competitions_lost FROM characters, olympiad_nobles WHERE characters.charId = olympiad_nobles.charId ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;
private static final String GET_CHARACTERS_BY_CLASS = "SELECT characters.charId, olympiad_nobles.olympiad_points FROM characters, olympiad_nobles WHERE olympiad_nobles.charId = characters.charId AND characters.base_class = ? ORDER BY olympiad_nobles.olympiad_points DESC LIMIT " + PLAYER_LIMIT;