Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Хороший тон создания временных таблиц в PostgreSQL / 25 сообщений из 38, страница 1 из 2
26.02.2018, 16:56
    #39607389
Bosyak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
Всем привет!
Скажите, такая схема создания временной таблицы в PostgreSQL 10 имеет какие-то конкретные недостатки?

Create TEMP TABLE table_name as
select * from ...

Так код получается компактнее, чем сначала создавать таблицу, а потом делать insert в нее. Но есть опасения, что могут быть скрытые недостатки такого метода (какие-то блокировки в случае тяжелого select, на основе которого строится таблица и т.д.).

Спасибо за ваше мнение!
...
Рейтинг: 0 / 0
26.02.2018, 17:41
    #39607420
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
Bosyak,

хороший тон в пж -- избегать создания времянок.

по крайней мере на сегодняшний день

конечно всё по возможности, если уже никак -- то делайте.
...
Рейтинг: 0 / 0
26.02.2018, 17:44
    #39607421
Bosyak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
В моем случае без времянок вообще никак, и их много. Поэтому решил разобраться детальнее.
...
Рейтинг: 0 / 0
26.02.2018, 17:57
    #39607431
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
BosyakВ моем случае без времянок вообще никак, и их много. Поэтому решил разобраться детальнее.

вероятно это неверная проекция старого опыта на новые обстоятельства.
...
Рейтинг: 0 / 0
27.02.2018, 06:52
    #39607586
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
Если только ради компактности кода, то не стоит.
Если есть другие цели - озвучьте.

"старый опыт" действительно сильно на это влияет.
...
Рейтинг: 0 / 0
27.02.2018, 11:52
    #39607747
Bosyak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
То, что надо избегать времянок я услышал.
Скорость создания и заполнения таблиц примерно одинаковая
(create temp table -> insert into select и create temp table as select)

И все-таки какие проблемы меня ждут, если массово генерить времянки через create temp table as select? Так же интересно мнение админов PostgreSQL на этот счет.
...
Рейтинг: 0 / 0
27.02.2018, 11:56
    #39607752
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
Bosyak,

Вы пытаетесь навязать нам свое видение решения какой-то, только вам известной, задачи. Может имеет смысл описать задачу полностью, чтобы можно было полноценно говорить о всех плюсах и минусах применяемых подходов?
...
Рейтинг: 0 / 0
27.02.2018, 12:19
    #39607770
Bosyak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
Щукина АннаBosyak,

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

Не пытаюсь, вам показалось) меня просто интересует технический ньанс. Из любопытства, если вам так угодно.
...
Рейтинг: 0 / 0
27.02.2018, 13:05
    #39607808
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
Bosyak,

можете и дальше упорствовать.... Но вы даже не рассказали - что после всех ваших манипуляций становиться с вашими временными таблицами? они удаляются? остаются в базе и используются повторно? пока ваш вопрос сродни такому: "Дорогие учёные. У меня который год в подполе происходит подземный стук. Объясните, пожалуйста, как он происходит"(с)
...
Рейтинг: 0 / 0
27.02.2018, 18:07
    #39608044
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
Bosyak,
да делайте как получится, раз не хотите как надо

проблемы вас сами найдут и расскажут как правильно

просто люди, любящие плодить времянки в пж долго не живут -- некому вам рассказать, как класть грабли лучше


возможно вы станете главным гуру по времянкам , дерзайте
...
Рейтинг: 0 / 0
27.02.2018, 18:32
    #39608062
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
qwwqBosyak,
да делайте как получится, раз не хотите как надо

проблемы вас сами найдут и расскажут как правильно

просто люди, любящие плодить времянки в пж долго не живут -- некому вам рассказать, как класть грабли лучше


возможно вы станете главным гуру по времянкам , дерзайте

ёмко

зы. меня тоже касается, хочу избавиться от темп таблиц, а в некоторых случаях не вижу как.
...
Рейтинг: 0 / 0
27.02.2018, 19:49
    #39608117
Skoffer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
Так а расскажите в чем конкретно проблема с временными таблицами?
...
Рейтинг: 0 / 0
27.02.2018, 21:04
    #39608153
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
SkofferТак а расскажите в чем конкретно проблема с временными таблицами?
да какие проблемы ?

конкретно проблема с любителями всё делать через времянки.
т.ч. бить их надо, пока маленькие.

а так-то проблем нет.

хотя на стендбае отчеты не будут считаться, если кто на времянках настрогал.

но так-то проблем нет -- есть бывшие мс-скуельщики, которые времянки лепят не думая. вот их всех прикопать в садике под грушей, и можно околачивать.

и да, тут поиск работает, если чо.


зы я сам во времянки счёт 1-с процки перетаскивал -- там вообще была песня -- прямо в живой табличке итерировали в пяток проходов себестоимости на тыщщи записей. в длинной транзе. других рукояток из 1С-кода попросту не торчало. пришлось вынести порнографию во времянку. или вылезать за рамки 1С--кода, что заведомо плохо -- я уйду а код останется.
...
Рейтинг: 0 / 0
27.02.2018, 21:40
    #39608167
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
Skoffer,

Зачем гнать данные во временную таблицу, может всё обработать одним запросом?

Приведите конкретный пример задачи, которую вы решаете через временные таблиц — разговор будет более предметным.
...
Рейтинг: 0 / 0
28.02.2018, 05:13
    #39608252
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
vyegorovЗачем гнать данные во временную таблицу, может всё обработать одним запросом?
.
Ну например, когда надо сохранить/задокументировать промежуточный результат.
...
Рейтинг: 0 / 0
28.02.2018, 08:06
    #39608270
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
982183vyegorovЗачем гнать данные во временную таблицу, может всё обработать одним запросом?
.
Ну например, когда надо сохранить/задокументировать промежуточный результат.
с этого момента попа дробнее пжалста.

задокументировать во времянке ? орригинально
...
Рейтинг: 0 / 0
28.02.2018, 14:55
    #39608520
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
А как иначе подтвердить тот многоступенчатый результат, который получился, если возникает такая задача?
Ночью производится некий расчет.
Некие промежуточные результаты сохраняются во временной таблице с уникальным именем.
По мере желания - чистят.
По необходимости - смотрят.
...
Рейтинг: 0 / 0
28.02.2018, 15:16
    #39608531
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
982183А как иначе подтвердить тот многоступенчатый результат, который получился, если возникает такая задача?
Ночью производится некий расчет.
Некие промежуточные результаты сохраняются во временной таблице с уникальным именем.
По мере желания - чистят.
По необходимости - смотрят
.

если успевают и таблица еще жива
...
Рейтинг: 0 / 0
28.02.2018, 15:20
    #39608533
jan2ary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
982183А как иначе подтвердить тот многоступенчатый результат, который получился, если возникает такая задача?
Ночью производится некий расчет.
Некие промежуточные результаты сохраняются во временной таблице с уникальным именем.
По мере желания - чистят.
По необходимости - смотрят.Вы уверены, что понимаете предназначение и механику временных таблиц?

Код: plaintext
 Temporary tables  are automatically dropped  at the end of a session, or optionally at the end of the current transaction.
...
Рейтинг: 0 / 0
28.02.2018, 15:22
    #39608536
MadeOfGlass
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
982183А как иначе подтвердить тот многоступенчатый результат, который получился, если возникает такая задача?
Ночью производится некий расчет.
Некие промежуточные результаты сохраняются во временной таблице с уникальным именем .
По мере желания - чистят.
По необходимости - смотрят.

кхм, а обычная таблица вместо временной в данной ситуации чем не угодила?
...
Рейтинг: 0 / 0
28.02.2018, 16:19
    #39608594
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
982183,

это какая-то долгоиграющая времянка.
таких тут не делают.

наверное вы анлоггед тейблы имеете в виду, а не temporary.
...
Рейтинг: 0 / 0
01.03.2018, 02:19
    #39608788
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
неверное.
...
Рейтинг: 0 / 0
01.03.2018, 04:27
    #39608800
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
Был вопрос "Зачем гнать данные во временную таблицу, может всё обработать одним запросом?"
Соответственно ответ заключался в том, что иногда это нужно.
(Учитывался опыт работы на другой СУБД)
Другое дело, что в PostgreSQL несомненно это надо делать не через механизм временных таблиц.
...
Рейтинг: 0 / 0
01.03.2018, 11:57
    #39608936
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
982183Был вопрос "Зачем гнать данные во временную таблицу, может всё обработать одним запросом?"
Соответственно ответ заключался в том, что иногда это нужно.
(Учитывался опыт работы на другой СУБД)
Другое дело, что в PostgreSQL несомненно это надо делать не через механизм временных таблиц.
ну нагребите ещё слов в кучку, неопределенный вы наш, авось смысл где-то не-то найдётся. не-то потеряется


повторяю вопрос применительно к "промежуточным результатам":

что мешает сохранить по мере "одного запроса" кучу уровней детализации (with ... insert 1...insert N) / итераций(with recursive), несомненно "не через механизм" , "иногда", когда "это нужно"
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
02.06.2020, 22:14
    #39965456
Swa111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хороший тон создания временных таблиц в PostgreSQL
Bosyak,

Как минимум есть одна большая проблема с временными таблицами, это разрастание pg_class и pg_attribute. С длинными транзакциями pg_attribute стала занимать 4 Гб вместо 40Мб. Что субъективно чревато более долгой подготовкой запросов к выполнению.

Можете подсказать как определить какая временная таблица создается чаще всего? Что бы можно было начать работы по выпиливанию.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Хороший тон создания временных таблиц в PostgreSQL / 25 сообщений из 38, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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