Re: No heap lookups on index

Поиск
Список
Период
Сортировка
От Jim C. Nasby
Тема Re: No heap lookups on index
Дата
Msg-id 20060119152712.GP78403@pervasive.com
обсуждение исходный текст
Ответ на Re: No heap lookups on index  (Greg Stark <gsstark@mit.edu>)
Список pgsql-hackers
On Thu, Jan 19, 2006 at 01:56:51AM -0500, Greg Stark wrote:
> Tom Lane <tgl@sss.pgh.pa.us> writes:
> 
> > Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
> > >> Oracle does, but you pay in other ways. Instead of keeping dead tuples
> > >> in the main heap, they shuffle them off to an 'undo log'. This has some
> > >> downsides:
> > >> Rollbacks take *forever*, though this usually isn't much of an issue
> > >> unless you need to abort a really big transaction.
> > 
> > > It's a good point though.  Surely a database should be optimised for the 
> > > most common operation - commits, rather than rollbacks?
> > 
> > The "shuffling off" of the data is expensive in itself, so I'm not sure
> > you can argue that the Oracle way is more optimal for commits either.
> 
> You pay in Oracle when you read these records too. If there are pending
> updates you have to do a second read to the rollback segment to get the old
> record. This hits long-running batch queries especially hard since by the time
> they finish a large number of the records they're reading could have been
> updated and require a second read to the rollback segments.

You pay the same cost in PostgreSQL though... If you index-scan to a
dead tuple, you get pointed to where the new one is. And if you're
seqscanning, well, you'll be reading everything anyway.

> You also pay if the new value is too big to fit in the same space as the old
> record. Then you get to have to follow a pointer to the new location. Oracle
> tries to minimize that by intentionally leaving extra free space but that has
> costs too.

Again, similar to the cost with our MVCC.
-- 
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: restrict column-level GRANTs to a single relation?
Следующее
От: "Joshua D. Drake"
Дата:
Сообщение: Re: 8.0.5 Bug in unique indexes?