Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Альтернатива темповой таблице? (<более другие методы>) / 1 сообщений из 1, страница 1 из 1
08.02.2005, 12:11
    #32905731
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Альтернатива темповой таблице? (<более другие методы>)
В процедурке пересчитывается некий набор данных. При этом надо поправить набор данных в денормализованной (иерархические результаты) табличке. Сейчас делаю так :
1. <апдейт предков на величины - величина до расчета в узле>
2. <перерасчет величины в узле>
3. <апдейт предков на величины + величина после расчета в узле>

при заполнении результатов в моменте (месячные, прости господи) - плата на один апдейт ~0.5 сек. Процедура сервисная, выполняется изредка. Но при расчете результатов за год (Nзаписей*12) уже съедается ~1.5 -2 сек. (в сумме с прочими уже нехорошо). А если еще большие объемы - и вообще плохо.

Внимание, вопрос:
Очевидно, достаточен один апдейт на величину разниц от "величин" по набору до и после расчета. Куда мне сложить (специальная формулировка для гусар:) набор "до", если не в темповую таблицу? (Т.е. нужен тип, аналогичный RECORD, + который можно использовать в SQL, как например ф-ю, но в отличие от функции (которая RETURN SETOF xxxx), живущий дольше одного вызова.)

-Помнится, тут были адепты "более других" методов.
Если все таки темповую таблицу - каковы грабли (в 7.3. они не дропаются сами)? И будет ли выигрыш при примерном равенстве количества записей в обновляемой большой таблице и в темповом наборе, или CREATE тоже съедает некое время? (выигрыш из за утяжеления вставки в большую ее констрайнтами очевиден)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Альтернатива темповой таблице? (<более другие методы>) / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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