我需要检查执行查询时使用的内存。我已经在MySQL中将JDBC连接到我的数据库。而且我也知道如何执行查询。但是我不知道如何检查执行查询时使用的内存。这是为了比较内存和时间。我正在使用NetBeans。
谢谢
答案 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?