Re: A thought on Index Organized Tables - Mailing list pgsql-hackers

From Karl Schnaitter
Subject Re: A thought on Index Organized Tables
Date
Msg-id d13967f91002251530k27f79923o419374b58ddd775@mail.gmail.com
Whole thread Raw
In response to Re: A thought on Index Organized Tables  (Gokulakannan Somasundaram <gokul007@gmail.com>)
Responses Re: A thought on Index Organized Tables
List pgsql-hackers
<br /><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204);
margin:0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote"
style="border-left:1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> The other<br />
problemis the extra write load created by needing to update the index's<br /> copies of the hint bits; not to mention
extrawrites to freeze the xids<br /> when they get old enough.<br /></blockquote></div></div>But Tom, i remember that
thevacuum was faster when index had visibility info, since we need not touch the table. But maybe i am wrong. <br
/></blockquote></div><br/>I disagree with that, Gokul -- if the ordering operators are volatile or just incorrect,
duringDELETE, you could set xmax in the wrong IndexTuple. Then there will be another IndexTuple that says it's visible,
butit points to a non-visible heap tuple. I think you should follow the pointers to the heap before you decide to let
anindex tuple remain in the index during vacuum. This would ensure that all references from an index to a heap tuple
areremoved before vacuuming the heap tuple. I would be worried about what might break if this invariant doesn't
hold.<br/><br />Tom is right about all the extra overhead involved with keeping visibility info in the index. But it
canbe a good trade-off in some cases. <br /><br />Karl<br /> 

pgsql-hackers by date:

Previous
From: David Fetter
Date:
Subject: Re: strict version of version_stamp.pl
Next
From: Greg Stark
Date:
Subject: Re: A thought on Index Organized Tables