Выполняет ли база данных Oracle сортировку в буферном кэше или PGA?

Насколько мне известно, Oracle выполняет операции сортировки в PGA. Но делает ли это также в буферном кэше или общем пуле и т. д.? Если да, то в каких условиях он сортируется в этих областях?


person oramas    schedule 31.03.2020    source источник


Ответы (1)


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

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

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

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

person Connor McDonald    schedule 01.04.2020