База данных Oracle выполняет сортировку в буферном кеше или PGA? - PullRequest
0 голосов
/ 31 марта 2020

Насколько я знаю, Oracle выполняет операции сортировки в PGA. Но так ли это в Buffer Cache или Shared Pool et c? Если да, то при каких условиях он сортируется в этих областях?

1 Ответ

2 голосов
/ 01 апреля 2020

Нет, это всегда в PGA. Но здесь возникает вопрос семантики.

Например, если используется полное автоматизированное c управление памятью, мы оставляем за собой право перетасовывать данные между областями общей памяти и областью частной памяти. Таким образом, тот же самый фрагмент физической памяти, который когда-то был в общей памяти, может стать частной памятью позже в своей жизни. Но к этому моменту времени ... теперь это PGA.

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

Но, как я уже сказал - это просто интерпретация. Для всех интенсивных целей можно предположить, что в PGA происходит сортировка.

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