Oracle表中的一条记录占用weblogic多少内存

分析了很多OOM的文件,有一类问题起初找不到原因,通常会根据thread_overview找到占用内存最多的线程。

但有一种情况就是从thread_overview中找不到,这个时候就得看dominator_tree,看到很多从数据库中取数据的对象,

打开一个,吓了一条,通过主键取一条数据居然占用了16M的内存。我又看了8M,4M,2M的对象,也是取一条数据的,

我断定这个与数据库表的记录长度有关系,果然,我找到了规律:

统计一个表记录的长度,

select  table_name,sum(data_length)  from user_tab_cols  group by  table_name;

数据库中记录长度     占用JVM内存
17990                 2M
33139                 4M
44179                 8M

87809                 16M

从这里可以看到,使用select *带来的严重后果吧!

你可能感兴趣的:(Oracle表中的一条记录占用weblogic多少内存)