使用Java从Apache Phoenix获取记录时响应缓慢

使用Java从Apache Phoenix获取记录时响应缓慢,java,phoenix,Java,Phoenix,我正在使用Java从ApachePhoenix获取数据。java客户端正在phoenix查询服务器上执行查询。我在pom.xml中添加了以下依赖项: <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-core</artifactId> <version>4.14.0-HBase-1.4</version&

我正在使用Java从ApachePhoenix获取数据。java客户端正在phoenix查询服务器上执行查询。我在pom.xml中添加了以下依赖项:

<dependency>
    <groupId>org.apache.phoenix</groupId>
    <artifactId>phoenix-core</artifactId>
    <version>4.14.0-HBase-1.4</version>
</dependency>
<dependency>
    <groupId>org.apache.phoenix</groupId>
    <artifactId>phoenix-queryserver-client</artifactId>
    <version>4.8.1-HBase-1.2</version>
</dependency>

即使在(rs.next()){}期间删除循环的打印部分并仅保留
,它仍然消耗几乎相同的时间。这种缓慢的修复方法是什么?

表的行键是什么,租户ID?租户ID上有一个索引,我没有选择行键。即使我选择了rowkey,所用的时间也是一样的。表的rowkey是什么,租户ID?租户ID上有一个索引,我没有选择rowkey。即使我选择rowkey,所用的时间也是一样的。
public class SamplePhoenixConnection {

    static final String DB_URL = "jdbc:phoenix:thin:url=http://<IP>:<PORT>;serialization=PROTOBUF";

    public static void main(String args[]) throws Exception {
        Connection conn = null;
        Statement st = null;
        try {
            Class.forName("org.apache.phoenix.queryserver.client.Driver");
            conn = DriverManager.getConnection(DB_URL);
            conn.setAutoCommit(false);
            conn.setReadOnly(true);
            conn.setSchema("DL");
            st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.TYPE_FORWARD_ONLY,
                    ResultSet.CONCUR_READ_ONLY);
            st.setFetchSize(100);

            String sql = "SELECT DISTINCT EMPLOYMENTSTATUS, EMPLOYEECODE , DESIGNATIONNAME, DATEOFBIRTH, BAND FROM EMPLOYEE WHERE TENANTID = '10'";

            ResultSet rs = st.executeQuery(sql);

            while (rs.next()) {
             System.out.println(rs.getString(1) + " : " + rs.getString(2) + " : " + rs.getString(3) + " : "
                    + rs.getString(4) + " : " + rs.getString(5));
            }
            rs.close();
            st.close();
            conn.close();
        } catch (SQLException se) {
            se.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (st != null)
                    st.close();
            } catch (SQLException se2) {
                se2.printStackTrace();
            }
            try {
                if (conn != null)
                    conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
    }
}
while (rs.next()) {
                System.out.println(rs.getString(1) + " : " + rs.getString(2) + " : " + rs.getString(3) + " : "
                        + rs.getString(4) + " : " + rs.getString(5));
            }