使用JDBC检查查询中使用的内存(RAM)

时间:2019-05-16 19:28:07

标签: java mysql jdbc

我需要检查执行查询时使用的内存。我已经在MySQL中将JDBC连接到我的数据库。而且我也知道如何执行查询。但是我不知道如何检查执行查询时使用的内存。这是为了比较内存和时间。我正在使用NetBeans。

谢谢

2 个答案:

答案 0 :(得分:0)

如果要通过JDBC引用数据库服务器中的内存使用情况,则不能。向DBA询问。

如果是用于您的应用程序或应用程序服务器,则可以使用Runtime.getRuntime().freeMemory()获取数据库/ JDBC调用前后的内存使用情况。

更好的是,您可以使用JMX进行远程操作。 JConsole的最基本用法可以为您提供帮助。

答案 1 :(得分:0)

您可以使用com.sun.management.ThreadMXBean.getThreadAllocatedBytes(long id)来获取大约。线程使用的字节数。 https://docs.oracle.com/javase/7/docs/jre/api/management/extension/com/sun/management/ThreadMXBean.html#getThreadAllocatedBytes(long)

当您的JDBC连接,语句和结果集填充由线程执行时,您可以获得大约。通过提供线程ID,线程使用的内存量。

引用-Will ThreadMXBean#getThreadAllocatedBytes return size of allocated memory or objects?