Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java ResultSet将clob对象作为字符串获取时出现性能问题_Java_Oracle - Fatal编程技术网

使用java ResultSet将clob对象作为字符串获取时出现性能问题

使用java ResultSet将clob对象作为字符串获取时出现性能问题,java,oracle,Java,Oracle,我正试图用java应用程序从ORACLE DB中获取CLOB对象。此CLOB对象包含XML数据。这实际上对我来说是一个性能影响,需要花费大约3分钟的时间来处理。如果我的XML内容变得更多,那么处理时间将超过可接受的时间间隔 有没有其他方法可以从DB中获取XML内容(CLOB对象),而不会出现性能问题? 使用oracle10g 您可以尝试使用oracle xml db,而不是以clob的形式存储xml。 查看更多详细信息,网址: 使用XMLDB直接运行对xml数据的查询,所以您不需要一直将整个数据

我正试图用java应用程序从ORACLE DB中获取CLOB对象。此CLOB对象包含XML数据。这实际上对我来说是一个性能影响,需要花费大约3分钟的时间来处理。如果我的XML内容变得更多,那么处理时间将超过可接受的时间间隔

有没有其他方法可以从DB中获取XML内容(CLOB对象),而不会出现性能问题?
使用oracle10g

您可以尝试使用oracle xml db,而不是以clob的形式存储xml。 查看更多详细信息,网址:

使用XMLDB直接运行对xml数据的查询,所以您不需要一直将整个数据放在java层,这将提高性能

编辑:

如果xml db不是您的选项,那么您需要对java实现进行更改。根据您的问题,我可以看到clob的大小导致了获取数据的延迟。
您启动一个后台线程,该线程可以将数据加载到缓存中[您可以基于Map创建一个简单的缓存],然后您可以先签入缓存,而不是转到DB。这可以大大减少您的时间。

如果您能提供更多关于如何处理xml内容的详细信息,那么这可能会help@loki; 我正在用这个XML内容构造InputStream对象,并将其作为生成repor的输入提供给BIRT工具。感谢您的快速回复。我无法更改将XML作为clob对象插入的过程。这不在我的范围之内。因此,我应该有一个轻量级的过程来获取内容。此外,您建议的是只提供oracle 11g。XMLDB比11g早很多,即使9i也有。