Re: SELECT LIMIT 1 VIEW Performance Issue
От | K C Lau |
---|---|
Тема | Re: SELECT LIMIT 1 VIEW Performance Issue |
Дата | |
Msg-id | 6.2.1.2.0.20050922224720.02c365f8@localhost обсуждение исходный текст |
Ответ на | Re: SELECT LIMIT 1 VIEW Performance Issue ("Merlin Moncure" <merlin.moncure@rcsonline.com>) |
Список | pgsql-performance |
At 22:37 05/09/22, Merlin Moncure wrote: > > >create or replace view VCurPlayer as select * from Player a > > >where a.AtDate = (select Max(b.AtDate) from Player b where a.PlayerID= > > >b.PlayerID); > >Here is a trick I use sometimes with views, etc. This may or may not be >effective to solve your problem but it's worth a shot. Create one small >SQL function taking date, etc. and returning the values and define it >immutable. Now in-query it is treated like a constant. We don't use functions as a rule, but I would be glad to give it a try. I would most appreciate if you could define a sample function and rewrite the VCurPlayer view above. Both PlayerID and AtDate are varchar fields. >Another useful application for this feature is when you have nested >views (view 1 queries view 2) and you need to filter records based on >fields from view 2 which are not returned in view 1. Impossible? > >in view 2 add clause where v2.f between f_min() and f_max(), them being >immutable functions which can grab filter criteria based on inputs or >values from a table. > >Merlin Best regards, KC.
В списке pgsql-performance по дате отправления: