On Mar 29, 2005, at 5:07 AM, T E Schmitz wrote:

Hello Scott,

Scott Marlowe wrote:
On Mon, 2005-03-28 at 15:43, T E Schmitz wrote:
How expensive would it be to maintain the following VIEW:

CREATE VIEW origin AS SELECT DISTINCT origin FROM transaktion

if there is in index on transaktion.origin; the table transaktion has thousands of records and there are only a few distinct origin?
The cost will only be encurred when running the view.  if you want
materialized views (which WOULD have maintenance costs) you'll have to

Thank you for the pointer - that might come in handy for another scenario.


The cost of executing that view should be the same as the cost of
running the query by hand.

I did an EXPLAIN ANALYZE and a sequential scan was carried out despite the index I had on the column. Maybe this is because I only have very few records in my test DB.


Would the "SELECT DISTINCT origin" always cause a sequential table scan regardless whether there is an index on the origin column or not?


I think you are right. If this is expensive and run often, you could always normalize further and create a table of "unique_origin" that would have only unique origins and set transaktion to have a foreign key referring to the unique_origin table and then just query the unique_origin table when you need to do the query above.


Sean


---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings

Reply via email to