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

Откуда:
Сообщений: 152
Здравствуйте.
Делаю spool селекта одной колонки типа varchar2, с сортировкой.
Этот селект возвращает 10 миллионов строк.
Все эти 10 млн строк находятся в кэше до завершения spool?
13 окт 16, 11:49    [19777103]     Ответить | Цитировать Сообщить модератору
 Re: Вся выборка select хранится в памяти?  [new]
носорт
Guest
140907,

Если сортировка выбрала план выборки по индексу, будет читаться по мере фетча.
Иначе сортировка в памяти-темпе и вычитка оттуда.
13 окт 16, 11:59    [19777168]     Ответить | Цитировать Сообщить модератору
 Re: Вся выборка select хранится в памяти?  [new]
AlexFF__|
Member

Откуда:
Сообщений: 2855
носорт
140907,

Если сортировка выбрала план выборки по индексу, будет читаться по мере фетча.
Иначе сортировка в памяти-темпе и вычитка оттуда.

А полный скан таблицы значит не будет выдавать записи по мере чтения?
13 окт 16, 12:05    [19777193]     Ответить | Цитировать Сообщить модератору
 Re: Вся выборка select хранится в памяти?  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
AlexFF__|
носорт
140907,

Если сортировка выбрала план выборки по индексу, будет читаться по мере фетча.
Иначе сортировка в памяти-темпе и вычитка оттуда.

А полный скан таблицы значит не будет выдавать записи по мере чтения?

https://docs.oracle.com/database/121/TGSQL/tgsql_sqlproc.htm#TGSQL-GUID-422F679D-80AD-42CF-B38C-7D22A550E2AA
For some queries the database returns the first row as quickly as possible, whereas for others it creates the entire result set before returning the first row.
13 окт 16, 12:08    [19777207]     Ответить | Цитировать Сообщить модератору
 Re: Вся выборка select хранится в памяти?  [new]
AlexFF__|
Member

Откуда:
Сообщений: 2855
AlexFF__|
носорт
140907,

Если сортировка выбрала план выборки по индексу, будет читаться по мере фетча.
Иначе сортировка в памяти-темпе и вычитка оттуда.

А полный скан таблицы значит не будет выдавать записи по мере чтения?

А, там же сортировка.
От я балбес =)
13 окт 16, 12:11    [19777215]     Ответить | Цитировать Сообщить модератору
 Re: Вся выборка select хранится в памяти?  [new]
140907
Member

Откуда:
Сообщений: 152
Спасибо.
13 окт 16, 12:24    [19777276]     Ответить | Цитировать Сообщить модератору
 Re: Вся выборка select хранится в памяти?  [new]
AlexFF__|
Member

Откуда:
Сообщений: 2855
Viewer
AlexFF__|
пропущено...

А полный скан таблицы значит не будет выдавать записи по мере чтения?

https://docs.oracle.com/database/121/TGSQL/tgsql_sqlproc.htm#TGSQL-GUID-422F679D-80AD-42CF-B38C-7D22A550E2AA
For some queries the database returns the first row as quickly as possible, whereas for others it creates the entire result set before returning the first row.

Ну как раз тут сам скан таблицы не обязательно требует получения полного набора строк, при желании и возможности можно начать получать строки по мере поступления.
Например, при сортировке по ключу партицирования. Даже при отсутствии индекса, записи пойдут по мере чтения и сортировки отдельных партиций.
13 окт 16, 12:25    [19777284]     Ответить | Цитировать Сообщить модератору
 Re: Вся выборка select хранится в памяти?  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
AlexFF__|
Viewer
пропущено...

пропущено...

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

... а я пытался утверждать обратное?
Читайте цитату (смысл) целиком, а не только хвост, который пытаетесь мне пришить ;)
13 окт 16, 12:32    [19777332]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить