简单选择查询的Oracle Exadata性能问题

简单选择查询的Oracle Exadata性能问题,oracle,performance,query-optimization,exadata,Oracle,Performance,Query Optimization,Exadata,我正在使用Oracle Exadata云环境。我有一个表,我正在使用它通过应用程序存储excel导入的原始数据。所有列都是VARCHAR2(100个字符)。我有一个简单的select语句,它返回所有验证失败的记录。在应用程序中,我使用OracleDataReader获取记录。此查询大约需要15分钟才能返回308K条记录。我运行了以下统计数据。我在批处理Id和用户Id列上有一个联合索引。如何提高性能,这是一个非常简单的select语句,没有任何连接 SELECT /*+ gather_plan_s

我正在使用Oracle Exadata云环境。我有一个表,我正在使用它通过应用程序存储excel导入的原始数据。所有列都是VARCHAR2(100个字符)。我有一个简单的select语句,它返回所有验证失败的记录。在应用程序中,我使用OracleDataReader获取记录。此查询大约需要15分钟才能返回308K条记录。我运行了以下统计数据。我在批处理Id和用户Id列上有一个联合索引。如何提高性能,这是一个非常简单的select语句,没有任何连接

SELECT /*+ gather_plan_statistics */
      ExcelRowNumber,
       Program_Number,
       Program_Number_Source,
       Invoice_Number,
       Invoice_Amount,
       Unit_Number,
       Customer_Number,
       ErrorText
  FROM MKTG.STG_UNIT_INVC_CALC
 WHERE BATCH_ID = 2038326851 AND USER_Id = 'JAY' AND ErrorText IS NOT NULL                    

如果问题是通过网络传输数据,那么您可能需要调整?我在SQL Plus&Toad中尝试了该查询,结果相同。我仍将尝试在数据库服务器上本地或远程学习fetchSizeRunning?如果从(“在SQL Plus&Toad中尝试了相同结果的查询”)执行
select count(*),需要多长时间这些也是客户机,所以无论您遇到什么网络问题,都将是他们所有人的问题。该计划说,在数据库中只花了不到一秒钟的时间。我们预计Exadata在进行全表扫描时会非常快,因为它实际上是为了处理大量数据而设计的。使用索引似乎不太可能改善情况,特别是y,正如计划所示,您的查询将返回查询中的所有记录。计数版本的统计数据是否相同?假设Oracle没有优化这一点以减少工作量,这表明问题在于通过网络将数据从数据库传输到客户端。如果所有列都是100个字符(即使是看起来像数字的?)这应该只有240Mb左右,所以这看起来是一个相当严重的网络问题;但似乎不是DB问题。