Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Где размещаются полученные данные выполненного запроса?  [new]
expimp
Member

Откуда:
Сообщений: 573
Где размещаются полученные данные выполненного запроса?
В PGA?
Считал DBWr блоки с диска. Разместил их в кэше. А что дальше?
Не могу внятно прочитать, что делает серверный процесс.
Что происходит между считыванием и пересылкой данных клиенту.
27 июн 06, 12:04    [2815784]     Ответить | Цитировать Сообщить модератору
 Re: Где размещаются полученные данные выполненного запроса?  [new]
Пан философ
Guest
expimp
Где размещаются полученные данные выполненного запроса?
В PGA?
Считал DBWr блоки с диска. Разместил их в кэше. А что дальше?
Не могу внятно прочитать, что делает серверный процесс.
Что происходит между считыванием и пересылкой данных клиенту.
Концепции вроде же уже перевели?
27 июн 06, 12:07    [2815796]     Ответить | Цитировать Сообщить модератору
 Re: Где размещаются полученные данные выполненного запроса?  [new]
uigu
Guest
Хде перевод??
27 июн 06, 12:10    [2815816]     Ответить | Цитировать Сообщить модератору
 Re: Где размещаются полученные данные выполненного запроса?  [new]
Пан философ
Guest
uigu
Хде перевод??
Перевод вроде бы за деньги. Обучение тоже.

Опереция по пересаживанию мозгов - бесценна.
27 июн 06, 12:12    [2815827]     Ответить | Цитировать Сообщить модератору
 Re: Где размещаются полученные данные выполненного запроса?  [new]
SeaGate
Member

Откуда: Новосибирск
Сообщений: 1635
expimp
Где размещаются полученные данные выполненного запроса?
В PGA?
Считал DBWr блоки с диска. Разместил их в кэше.

Если я не ошибаюсь, то в такой ситуации данные с диска считывает все же server process, а не DBWn, он же их размещает в кэше, если их там еще нет.
27 июн 06, 12:21    [2815897]     Ответить | Цитировать Сообщить модератору
 Re: Где размещаются полученные данные выполненного запроса?  [new]
expimp
Member

Откуда:
Сообщений: 573
Сбойнул! Каюсь!!! DBWr записывает блоки. Считывает, действительно, серверный процесс. Но, после того, как блоки попали в буфер что происходит?
Где-то в какой-то момент лежит точная копия того, что будет отправлено на клиента? После сортировок, группировок?
27 июн 06, 12:52    [2816117]     Ответить | Цитировать Сообщить модератору
 Re: Где размещаются полученные данные выполненного запроса?  [new]
Владимор Конев
Member

Откуда:
Сообщений: 3451
expimp
Где размещаются полученные данные выполненного запроса?
В PGA?
Данные, полученные в результате работы запроса размещаются в Private SQL Area, а если точнее, то в ее структуре, называемой Run-time area.
А вот сама run-time area размещается либо в SGA, либо в PGA, в зависимости от того, в каком режиме произошло подключение сессии.
Если в DEDICATED, то оно размещается в PGA. Если SHARED (MTS), от в SGA
27 июн 06, 12:56    [2816145]     Ответить | Цитировать Сообщить модератору
 Re: Где размещаются полученные данные выполненного запроса?  [new]
expimp
Member

Откуда:
Сообщений: 573
Спасибо! С этого подозрения про PGA и начал свой вопрос. Просто хотелось уточнить.
А если, предположим под PGA выделено 1M на юзера. А запрос вельми большой. То тогда что?
27 июн 06, 14:20    [2816705]     Ответить | Цитировать Сообщить модератору
 Re: Где размещаются полученные данные выполненного запроса?  [new]
mcureenab
Member

Откуда: Murmansk
Сообщений: 5928
expimp
Спасибо! С этого подозрения про PGA и начал свой вопрос. Просто хотелось уточнить.
А если, предположим под PGA выделено 1M на юзера. А запрос вельми большой. То тогда что?


Тогда данные по мере надобности сохраняются в Temporary tablespace.
Например вместо внутренней сортировки оракл использует дисковую и т.п.

Замечу, что далеко не все операции "накапливают результат". Многие операции работают как рабочий на конвеере - выцепил строку, обработал, передал в следующую операцию или в программу пользователя. Пользователь попросил ещё? Снова выцепил строку (или массив строк), обработал, вернул и т.д.
27 июн 06, 15:02    [2816983]     Ответить | Цитировать Сообщить модератору
 Re: Где размещаются полученные данные выполненного запроса?  [new]
Ловец Стрекоз
Member

Откуда: Москва
Сообщений: 236
У меня вопрос по всей видимости в тему. Надеюсь на ответ знающих людей.

Есть запрос делающий соединение двух больших таблиц.
По результатам статистики все движения происходят в памяти - physical reads -0, sorts (disk) - 0. Почему же все время отработки запроса (40сек) диск истошно подмигивает???
27 июн 06, 15:09    [2817036]     Ответить | Цитировать Сообщить модератору
 Re: Где размещаются полученные данные выполненного запроса?  [new]
Sergey M
Member

Откуда: г. Барнаул
Сообщений: 5462
Ловец Стрекоз
У меня вопрос по всей видимости в тему. Надеюсь на ответ знающих людей.

Есть запрос делающий соединение двух больших таблиц.
По результатам статистики все движения происходят в памяти - physical reads -0, sorts (disk) - 0. Почему же все время отработки запроса (40сек) диск истошно подмигивает???

Работает виртуальная память ?
28 июн 06, 05:17    [2819040]     Ответить | Цитировать Сообщить модератору
 Re: Где размещаются полученные данные выполненного запроса?  [new]
Ловец Стрекоз
Member

Откуда: Москва
Сообщений: 236
Sergey M
Работает виртуальная память ?

Даже если в уме прикинуть объем память требуемой для всего декартового произведения, то получается не более 16М. Для Oracle доступно больше...
28 июн 06, 08:51    [2819290]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить