当前位置: 首页 > 知识库问答 >
问题:

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

史逸春
2023-03-14

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

非常感谢。

共有2个答案

鲜于仰岳
2023-03-14

如果您指的是数据库服务器中的内存使用情况(通过JDBC),则不能。询问DBA。

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

更好的是,您可以使用JMX远程完成。JConsole最基本的用法可以帮助您做到这一点。

苏宏逸
2023-03-14

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

当您的JDBC连接、语句、,

参考-ThreadMXBean#getThreadAllocatedBytes会返回分配的内存或对象的大小吗?

 类似资料:
  • 因此,正如标题所示,我的MongoDB数据库中有以下示例文档: 如您所见,日期存储为字符串,而不是ISODate对象。据我所知,MongoDB应该仍然能够将其作为日期进行处理和查询。(来源) 因此,我试图用JDBC在我的java应用程序中以以下方式查询它: 然而,这是行不通的。我的思考过程是,如果我通过java。util。日期,然后是过滤器。gte()方法将知道我的意思是查询一个日期,它将按照Mo

  • 问题内容: 查询代码和查询: 返回一个空值。 通过基本调试,我发现了它的第三个绑定,即问题 我尝试了各种变体,其中最明智的似乎是在使用: 但这不起作用,因为我错过了连接字符串的任一侧,所以我尝试: 但我似乎无法找到一种方法使它们起作用。 我想念什么? 问题答案: 首先,占位符(那些占位符)仅用于 列值 ,而不用于表名,列名,SQL函数/子句等。最好改用。其次,你应该 不 引用占位符一样,它只会ma

  • 我试图使用JDBC从Filemaker中选择一个具有特殊字符的列。我看到过其他一些帖子,里面有空格或其他特殊字符,我也试着引用我的专栏文章,但问号带来了另一个纠结,因为JDBC驱动程序似乎试图绑定到它。 给我

  • used_memory:859192数据结构的空间 used_memory_rss:7634944实占空间 mem_fragmentation_ratio:8.89前2者的比例,1.N为佳,如果此值过大,说明redis的内存的碎片化严重,可以导出再导入一次.

  • 我在mysql查询中使用CASE语句,我必须检查同一查询中是否存在列。 有可能这样做吗?如果是,请帮忙。 我的查询为例- 当“Status”时选择CASE column1,然后选择“Status”当“value”时(当id不为NULL时选择CASE id,然后选择“status1”,否则选择“status2”结束为table1 where condition中的ScheduleStatus)结束为