0

将空间网络加载到内存中时,实际内存占用在哪里?在客户端还是服务器端?

PS,将网络加载到内存中的示例:PL/SQL:

sdo_net_mem.network_manager.read_network(net_mem=>'XXX', allow_updates=>'TRUE');

爪哇:

NetworkMetadata metadata = LODNetworkManager.getNetworkMetadata(sql.getConnection(), 'XXX', 'XXX');
NetworkIO networkIO = LODNetworkManager.getNetworkIO(sql.getConnection(), 'XXX', 'XXX', metadata);
networkIO.readLogicalNetwork(1);
4

2 回答 2

0

使用 LOD API 时,内存分配在客户端或客户端应用程序运行的位置。请查看此白皮书:在 Oracle 空间网络数据模型中处理大型网络的按需加载方法

于 2011-11-17T21:49:15.243 回答
0

它在客户端(即主机应用程序)上。如果您使用的是 PL/SQL,那么数据库本身就是宿主应用程序。如果您使用 Java 并在应用程序服务器上运行代码,那么它就在应用程序服务器上。推荐的方法是 LOD。与内存相比,您可以微调分区有多大以及一次应该在内存中加载多少,因此您可以很好地控制内存消耗。内存中可以被认为是 LOD 的一个角落案例,只有 1 个无限分区并且所有内容都加载到内存中。LOD 的缺点是需要对网络进行分区。

于 2014-07-11T15:35:25.703 回答