Я использую Oracle Облачная среда Exadata. У меня есть таблица, которую я использую для хранения необработанных данных из импорта Excel через приложение. Все столбцы VARCHAR2 (100 символов). У меня есть простое утверждение выбора, которое возвращает все записи, которые не прошли проверку. В приложении я использую OracleDataReader для получения записей. Этот запрос занимает около 15 минут, чтобы вернуть 308 тыс. Записей. Я запустил статистику и ниже. У меня есть объединенный индекс по столбцам 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