Может oracle конвейерная табличная функция улучшить производительность по сравнению с обычным представлением - PullRequest
0 голосов
/ 28 апреля 2020

У меня немного сложное oracle представление, которое я использую для создания живого отчета. Поскольку все строки производной таблицы извлекаются, нет ничего лучше, чем индексирование или разбиение.

Я хотел бы знать, могу ли я в любом случае использовать функцию конвейерной таблицы для повышения производительности моего отчета.

Это пришло мне в голову, потому что я не уверен, как именно работает SQL. Будут ли запросы ждать до тех пор, пока все строки из таблиц не будут извлечены, или это будет работать как конвейерная табличная функция таким образом, как только строка извлекается из базовой таблицы, она обрабатывается.

1 Ответ

3 голосов
/ 28 апреля 2020

A SQL запрос возвращает строки, как только они становятся доступными. В зависимости от плана запроса оптимизатора это может быть «немедленно» или может быть значительная задержка во время сбора и сортировки записей и т. Д. c.

Использование конвейерной функции не может улучшить эту производительность, потому что конвейерная функция должна сначала получить некоторые данные из запроса, а затем начать их выводить. Он не будет получать данные из запроса быстрее, чем вы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...