我正在尝试使用我的 java 应用程序从 ORACLE DB 中获取 CLOB 对象。此 CLOB 对象包含 XML 数据。这对我来说实际上是一个性能影响,需要大约 3 分钟的时间来处理。如果我的 XML 内容变得更多,则处理时间超出了可接受的时间间隔。
是否有任何其他替代方法可以从 DB 获取 XML 内容(CLOB 对象)而没有性能问题?使用oracle 10g。
您可以尝试使用 oracle xml db,而不是以 clob 的形式存储 xml。查看更多详细信息:http ://www.oracle.com/technetwork/database-features/xmldb/overview/index.html 。
使用 xml DB 直接对 xml 数据运行查询,因此您不需要一直将整个数据带入 java 层,这将提高性能。
编辑:
如果 xml db 不适合您,那么您需要对 java 实现进行更改。根据您的问题,我可以看到 clob 的大小导致获取数据的延迟。您启动一个后台线程,该线程可以将您的数据加载到缓存中[您可以基于 Map 创建一个简单的缓存],然后您可以先签入缓存而不是去数据库。这可以大大减少您的时间。