private float getRatioTop20() {
            BigDecimal elapsedTimeTop20 = new BigDecimal(0);
            BigDecimal elapsedTimeTotal = new BigDecimal(1);

            Connection connection = ConnectionPoolUtils.getConnectionFromPool();
            try {
                PreparedStatement elapsedTop20Statement = connection.prepareStatement(ELAPSED_TIME_TOP20);

                ResultSet elapsedTop20ResultSet = elapsedTop20Statement.executeQuery();

                if (elapsedTop20ResultSet != null) {
                    while (elapsedTop20ResultSet.next()) {
                        elapsedTimeTop20 = elapsedTop20ResultSet.getBigDecimal(1);
                    }
                }

                elapsedTop20Statement.close();

                PreparedStatement elapsedTotalStatement = connection.prepareStatement(ELAPSED_TIME_TOTAL);

                ResultSet elapsedTotalResultSet = elapsedTotalStatement.executeQuery();

                if (elapsedTotalResultSet != null) {
                    while (elapsedTotalResultSet.next()) {
                        elapsedTimeTotal = elapsedTotalResultSet.getBigDecimal(1);
                    }
                }

                elapsedTotalStatement.close();
            } catch (SQLException e) {
                JOptionPane.showMessageDialog(null, e);
            } finally {
                ConnectionPoolUtils.returnConnectionToPool(connection);
            }
            return elapsedTimeTop20.divide(elapsedTimeTotal, 4, BigDecimal.ROUND_HALF_UP).floatValue();
        }