Oracle Проблема производительности Exadata с простым запросом выбора - PullRequest
0 голосов
/ 28 февраля 2020

Я использую 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                    

enter image description here

...