powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как организовать вычисляемый столбец в таблице ?
7 сообщений из 7, страница 1 из 1
Как организовать вычисляемый столбец в таблице ?
    #32754587
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица с кучей строковых полей и кучей индексных полей. Нужно выбирать из нее некоторые поля + вычисляемые по строковым полям значения. Для вычисления используются только строковые функции postgresql - trim, substring, char_length и оператор ||. Как написать функцию, чтобы можно было делать запросы типа
select поле1, поле2, функция() where индекс1=знач1 or индекс1=знач
где в функции как раз и будет вычисляться значение по полям текущей записи ?
Пробовал через view - тормозит - ясное дело, индексы исходной таблицы не используются.
...
Рейтинг: 0 / 0
Как организовать вычисляемый столбец в таблице ?
    #32755593
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strizhПробовал через view - тормозит - ясное дело, индексы исходной таблицы не используются.
Здесь есть некоторое заблуждение (рассеиваемое путём курения документации). Запрос по view преобразуется в запрос по исходной таблице, т.ч. если не используются индексы --- значит не используются по другой причине.
...
Рейтинг: 0 / 0
Как организовать вычисляемый столбец в таблице ?
    #32755641
mwolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поддерживаю Sad Spirit-а.
Индекс используется, если есть возможность.
План показывай.
...
Рейтинг: 0 / 0
Как организовать вычисляемый столбец в таблице ?
    #32758003
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, действительно, используются. Для скорости не хватало одного индекса :()

А все ж. Функцию для вычисляемого столбца написать в принципе можно ?
...
Рейтинг: 0 / 0
Как организовать вычисляемый столбец в таблице ?
    #32758054
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вычисляемые поля возможны - пишешь правило на SELECT INSTEAD-
и определяешь в нем свой запрос с вызовом функций....
Только вот реляция получившая такое правило
- это уже не таблица,а просмотр! ;-)
Так что все возможно в границах допустимого 8-))
А насчет скорости - думай что пишешь тк планнер не станет
разбирать что ты накрутил в потрохах своих супер функций....
Например можно сходу устроить стресс-тест для сервера
в функции на trusted pl/perl немного облажавшись с регекспами
при парсинге text-полей ;-)
...
Рейтинг: 0 / 0
Как организовать вычисляемый столбец в таблице ?
    #32759422
centur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а еще можно написать функцию которая вычисляет что нужно и повесить ее на default столбца или триггером. только перед вкачкой базы на другом сервере эту функцию надо или в темплейт1 вставлять или в начале сразу после создания базы создавать, иначе при вкачке на шаге создания этой таблицы будет шибка что ф-ция не найдена.
...
Рейтинг: 0 / 0
Как организовать вычисляемый столбец в таблице ?
    #32759432
centur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в предыдущем подразумевалось что для быстроты результаты вычислений можно хранить в какой либо таблице - в этой или в отдельной... типа summary_data
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как организовать вычисляемый столбец в таблице ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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