我正在使用 Oracle Exadata 云环境。我有一个表,我用它来存储通过应用程序导入的 excel 的原始数据。所有列都是 VARCHAR2(100 CHAR)。我有一个简单的 select 语句,它返回所有验证失败的记录。在应用程序中,我使用 OracleDataReader 来获取记录。此查询大约需要 15 分钟才能返回 308K 条记录。我运行了统计数据,如下所示。我在 Batch_Id 和 User_Id 列上有一个组合索引。可以做些什么来提高性能,这是一个非常简单的选择语句,没有任何连接。
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