| От | Igor Schtein |
|---|---|
| Тема | Performance of SQL Function versus View |
| Дата | |
| Msg-id | 021a01ccf722$059a2a80$10ce7f80$@gmail.com обсуждение исходный текст |
| Ответы |
Re: Performance of SQL Function versus View
|
| Список | pgsql-performance |
Do you see any performance difference between the following approaches? The assumption is that most of the rows in the query will be requested often enough.
1. SQL function.
CREATE OR REPLACE FUNCTION X(IN a_id uuid, IN b_id uuid)
RETURNS int
STABLE
AS $$
SELECT count(1)
FROM A, B
WHERE a_join_id = b_join_id
AND A.a_id = a_id
AND B.b_id = b_id;
$$ LANGUAGE SQL;
SELECT X(a_id, b_id);
2. View.
CREATE OR REPLACE VIEW X AS
SELECT a_id, b_id, count(1) cnt
FROM A, B
WHERE a_join_id = b_join_id
GROUP BY (a_id, b_id)
SELECT cnt FROM X WHERE X.a_id = a_id and X.B_id = b_id;
Thank you,
Igor
В списке pgsql-performance по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера