Oracle apex apex_数据_解析器文件>;50MB

Oracle apex apex_数据_解析器文件>;50MB,oracle-apex,Oracle Apex,当用户单击按钮时,我有一个页面可以使用apex_data_解析器上传文件 SQL bellow使用apex_data_解析器上载一个550K行52MB的文件,大约需要180分钟才能完成 相同的文件,相同的页面,但我删除了一些行,保留了500K行和48MB,大约需要8分钟才能完成 我用同一个文件测试了750K行和40MB(我删除了一些描述的列以保持50MB以下)花了15分钟 有人知道为什么50 MB以上的文件的时间如此不同吗 读取API时,文件的限制为2GB和4GB 我从应用程序库中的示例上载

当用户单击按钮时,我有一个页面可以使用apex_data_解析器上传文件

  • SQL bellow使用apex_data_解析器上载一个550K行52MB的文件,大约需要180分钟才能完成
  • 相同的文件,相同的页面,但我删除了一些行,保留了500K行和48MB,大约需要8分钟才能完成
  • 我用同一个文件测试了750K行和40MB(我删除了一些描述的列以保持50MB以下)花了15分钟

  • 有人知道为什么50 MB以上的文件的时间如此不同吗

  • 读取API时,文件的限制为2GB和4GB

我从应用程序库中的示例上载中获取的SQL

FOR r_temp in (SELECT line_number, col001, col002, col003, col004, col005, col006, col007, col008      
                       from apex_application_temp_files f, 
                            table( apex_data_parser.parse(
                                   p_content                     => f.blob_content,
                                   p_file_type => 2, 
                                   p_skip_rows => 1,                                       
                                   p_file_name                   => f.filename ) ) p                          
                      where f.name = p_name)
LOOP 
...
它是一个.csv文件 接下来我做了什么? 为了简化问题,我将sql语句更改为简单计数(*)


我已经在oracle cloud创建了一个演示帐户,并使用相同的文件、相同的应用程序启动了一个自动事务处理来进行测试。结果:文件大小大于50MB,需要6小时才能执行SQL计数语句(请参见下面的附件)。文件的大小为48MB,需要3分钟才能执行相同的SQL count语句。也许是一个极限

下面的图表很有趣,用户I/O增加了很多,在我的测试中只有>50MB。 我取了3分钟内处理正常的50MB文件,复制一些行以增加到70MB(这样文件就不会损坏)


我认为这不是文件大小的函数,而是数据形状和宽度的函数

180分钟是超长的时间。如果您能够重现这一点,是否可以检查活动数据库会话并确定活动SQL语句和任何相关的等待事件


还有-这是什么文件格式,您使用的是什么数据库版本?

我认为这不是文件大小的函数,而是数据形状和宽度的函数

180分钟是超长的时间。如果您能够重现这一点,是否可以检查活动数据库会话并确定活动SQL语句和任何相关的等待事件


还有-这是什么文件格式,您使用的是什么数据库版本?

我相信可以在这个问题中找到答案:

我相信可以在这个问题中找到答案:

我已经在oracle cloud创建了一个演示帐户,并使用相同的文件、相同的应用程序启动了一个自动事务处理来进行测试。结果是:文件大于50MB(在我的测试中为70MB)6小时后执行一个SQL计数语句(请参阅问题中的附件,其中包含来自自治数据库的监视)。文件的大小为48MB,需要3分钟才能执行相同的SQL count语句。可能是apex.parser限制?我已经在oracle cloud创建了一个演示帐户,并使用相同的文件、相同的应用程序启动了自主事务处理以进行测试。结果是:文件大于50MB(在我的测试中为70MB)6小时后执行一个SQL计数语句(请参阅问题中的附件,其中包含来自自治数据库的监视)。文件的大小为48MB,需要3分钟才能执行相同的SQL count语句。可能是apex.parser限制?嗨,Jakobmhc,欢迎来到堆栈溢出。当你有一个问题而无法发表评论时,最好发布一个新问题,包括在你的帖子中链接到旧问题。目前你已经将你的问题发布为“答案”,这意味着它将被mods.Hi Jakobmhc删除,欢迎使用Stack Overflow。当你有一个问题而无法发表评论时,最好发布一个新问题,包括在你的帖子中链接到旧问题。目前,您已将您的问题发布为“答案”,这意味着它将被mods删除。请在中查看此问题的答案:我相信可以在此问题中找到答案:请在中查看此问题的答案:我相信可以在此问题中找到答案:
Column Position Column Name Data Type   Format Mask 
1   LINE    NUMBER  -
2   ACCOUNT NUMBER  -
3   DATETIME_CALL   DATE    YYYY"-"MM"-"DD" "HH24":"MI":"SS
4   TYPE_CALL   VARCHAR2(255)   -
5   CALL    NUMBER  -
6   DURATION    NUMBER  -
7   UNIT    VARCHAR2(50)    -
8   PRICE   NUMBER  -