'View'-performance

From: "Alexander Priem" <ap(at)cict(dot)nl>
To: <pgsql-performance(at)postgresql(dot)org>
Subject: 'View'-performance
Date: 2003-08-14 11:42:50
Message-ID: 00e801c36259$30b908b0$b696a8c0@APR
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hi all,

I am wondering about something: I have a table (let's call it "Table") which will contain a lot of records. Every record has a field named "deleted" which can be either NULL or a date value. When this field is NULL, the record in question may be used by a program. If the field contains a date, this field must be considered as "deleted" and cannot be used anymore.

The reason why I don't actually delete such records is that I want to be able to reference them from other locations (for history purposes).

What I am thinking about is creating two views for this table: Table_View and Table_History. Table_View would contain all records where "Deleted is null". Table_History would just contain all records (Select * From Table).

In my program most queries would need to view only the records where deleted is null.

Would " Select * from Table_View Where Name='xxx' " perform worse than " Select * from Table Where deleted is null and Name='xxx' " ?

I ask this because I would like it if I wouldn't have to type "where deleted is null" for about every query in my program. But I will not use this strategy if this would mean serious performance loss...

Thanks in Advance,
Alexander Priem.

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2003-08-14 11:45:46 Re: 7.4 beta 1 getting out of swap
Previous Message Bertrand Petit 2003-08-14 10:21:30 7.4 beta 1 getting out of swap