powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ограничение по столбцу полученному в результате вычисления. Как правильнее?
1 сообщений из 1, страница 1 из 1
Ограничение по столбцу полученному в результате вычисления. Как правильнее?
    #34497540
Develar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, какой запрос более правилен. В том числе и с идеологической точки зрения.

Мне нужно чтобы в итоговом результате было type is not null, так как type является результатом substring и я не могу написать его в where, я делаю главный запрос как подзапрос, а потом из него выбираю * where type is not null.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select * from (select
	substring(description from 'class = ([A-Z]{1}[a-zA-Z]+)') as type, relname as table,
	nspname as schema,
	description
from pg_catalog.pg_class
	join pg_catalog.pg_namespace on pg_catalog.pg_namespace.oid = relnamespace
	join pg_description on objoid = pg_catalog.pg_class.oid	
where relkind = 'r' and description is not null and objsubid =  0 ) as types where type is not null

Можно еще сразу во where написать не type, а вот этот substring - то есть вычисление на лету.
Время выполнения с подзапросом 15, а с substring в where 30 мс, но ведь можно этот substring оформить в функцию с IMMUTABLE. В postgresql я новичок и хочется понять философию программирования на plpgsql - или это на вкус и цвет в зависимости от задачи (типа если нам эта функция получения class из description таблицы еще где-то понадобится).
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ограничение по столбцу полученному в результате вычисления. Как правильнее?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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