Причины активного использования дисков при выполнении запроса через rest-api

Такая проблема: есть большое представление, есть запрос из этого представления. Но при запуске в IDE:

SELECT * FROM my_view;

Запрос получает последнюю строку через минуты полторы. Когда через rest-api прошу сервер выполнить похожий запрос:

SELECT * FROM (SELECT * FROM my_view) FETCH FIRST 1000 ROWS ONLY;

Обложку с ограничением накладывает сам сервер. Так вот второй запрос выполняется часов 10. Оба запроса выполнены под одним и тем же юзером. Залез в v$sql посмотреть что-нибудь, что бросится в глаза для этих двух уже выполненных запросов. Так вот, PHYSICAL_WRITE_BYTES (и _REQUESTS) как и PHYSICAL_READ_BYTES (и _REQUESTS) отличается раз в 40-50 (соответственно, у второго больше). Да и во время выполнения часто видел причину ожидания User I/O у второго запроса.

Вопрос: в чем может быть причина? Почему второй запрос активно полез на диски? Может ли быть такое, что второму не хватило кеша, при том, что он зашел под тем же юзером и как это можно проверить?


Ответы (0 шт):