获得JDBC连接时间最精确的方法

时间:2015-04-18 12:45:44

标签: java jdbc

public class Sql {
    private static Connection con=null;
    private static Statement stat=null;

    public void createConnection(){
        try {
            long a = System.currentTimeMillis();
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/","root","");
            stat = con.createStatement();
            //result in milliseconds
            System.out.println(System.currentTimeMillis() - a); 
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

它是一段代码,它为我们提供了与localhost源的连接。我创建了一个方法,该方法使用System.currentTimeMillis()给出连接所需的时间结果。还有其他方法可以获得更高的精确度吗?

2 个答案:

答案 0 :(得分:1)

您可以使用System.nanoTime() ,但我记得曾在某处读过,但不能保证您的结果会保持一致

编辑:来自我链接的文档:

  

此方法提供纳秒级精度,但不一定是纳秒级分辨率(即值的变化频率) - 除了分辨率至少与currentTimeMillis()的分辨率一样好之外,不做任何保证。

答案 1 :(得分:1)

尝试使用监控工具。这将极大地帮助您通过不在所有JDBC调用中结束系统打印来进一步开发应用程序。

http://www.jdbmonitor.com/