powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как освободить память в with
5 сообщений из 5, страница 1 из 1
как освободить память в with
    #39072562
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос к знатакам:
можно ли в запросе вида
Код: sql
1.
2.
3.
4.
5.
with tab1 as (...),
tab2 as (...),
...
tabN as (...)
select ...

в ситуации, когда, например, таблица tab1 использовалась только для заполнения таблиц tab2, выгрузить tab1 из памяти, чтоб уже не висела в памяти после заполнения в with таблицы tab2
?
версия pg начиная с версии 9.2
...
Рейтинг: 0 / 0
как освободить память в with
    #39072570
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Legushka,

Нет.
Можно попробовать перенести tab1 в подзапрос для tab2 и добавить туда OFFSET=0 для отключения проталкивания предикатов.
...
Рейтинг: 0 / 0
как освободить память в with
    #39072606
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что если попробовать сделать перед заполнением tab3 удаление tab1:
Код: sql
1.
2.
3.
4.
5.
6.
7.
with tab1 as (select ...),
tab2 as (select ... from tab1 inner join ...),
prosto_del as (
    delete
    from tab1
    returning *),
tab3 as (...)


такое прокатит и будет ли выигрыш если таблица tab1 в пару лямов записей.
...
Рейтинг: 0 / 0
как освободить память в with
    #39072614
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Legushkaвопрос к знатакам:
можно ли в запросе вида
Код: sql
1.
2.
3.
4.
5.
with tab1 as (...),
tab2 as (...),
...
tabN as (...)
select ...

в ситуации, когда, например, таблица tab1 использовалась только для заполнения таблиц tab2, выгрузить tab1 из памяти, чтоб уже не висела в памяти после заполнения в with таблицы tab2
?
версия pg начиная с версии 9.2

А зачем вам собственно это надо? Скорее всего это по ресурсам дороже получится даже если бы это было возможно.
База сама лучше разберется как с work_mem поступать по мере выполнения запроса.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
как освободить память в with
    #39072690
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorov, Maxim Boguk, Legushka
всем спасибо)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как освободить память в with
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]