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

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


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