Avoiding duplication of code via views -- slower? How do people typically do this? - Mailing list pgsql-general

From Joe Van Dyk
Subject Avoiding duplication of code via views -- slower? How do people typically do this?
Date
Msg-id CACfv+pJqL-=gY=dfhXG2DVxAiPLHUbGiySv_cbTAS9kTx3fZ5g@mail.gmail.com
Whole thread Raw
Responses Re: Avoiding duplication of code via views -- slower? How do people typically do this?  (Jack Christensen <jack@jackchristensen.com>)
Re: Avoiding duplication of code via views -- slower? How do people typically do this?  (Chris Travers <chris.travers@gmail.com>)
List pgsql-general
See
https://gist.github.com/joevandyk/4957646/raw/86d55472ff8b5a4a6740d9c673d18a7005738467/gistfile1.txtfor
the code.

I have promotions(id, end_at, quantity) and promotion_usages(promotion_id).

I have a couple of things I typically want to retrieve, and I'd like those
things to be composable.  In this case, finding recently-expired
promotions, finding promotions that have a quantity of one, and finding
promotions that were used.

My approach is to put these conditions into views, then I can join against
each one. But that approach is much slower than inlining all the code.

How is this typically done?

Thanks,
Joe

pgsql-general by date:

Previous
From: Cochise Ruhulessin
Date:
Subject: Immutable functions, Exceptions and the Query Optimizer
Next
From: Jeffrey Jones
Date:
Subject: Re: 9.2 RHEL6 yum Repository broken?