RE: free pages in tablespace
Can't answer your blobspace questions.
AFAIK there is a single tablespace for each fragment/partition of a table
(not for each extent). The bitmap pages have a 1 or 0 to indicate whether
there is free space or not. Bitmap pages occur every so oftern throughout
the table - depending on your page size. Consider that there is 28 bytes
(or so) of header space - every additional byte represents one page which
will either be on or off.
Round Robin is just that. with four spaces, it will put the first row in
space 1, the next in space 2 and so forth - nothing random about it. It can
then look at the table header for that fragment and determine where the next
page with free space is. Not sure how the bitmap factors in - obviously
there is some relationship.
Certainly a Round Robin loads faster than other fragmentation schemes, that
is it's principal benefit - perhaps you've laid out the reason why.
However, once data is in a round robin schema, there is no way to tell from
the fragmentation scheme where the row is - which makes it impossible to do
fragment elimination or purge data by detaching/dropping fragments. The
load /insert rate of a round robin is generally not worth that cost.
[mailto:firstname.lastname@example.org]On Behalf Of
Sent: Sunday, August 12, 2007 8:00 PM
Subject: free pages in tablespace
Version: IDS 10 FC4
1. Is it advisable to have blob as part of tablespace even with the
fragemented table ?
2. Is it correct that if blob is part of tablespace then row in
tablespace just contains the pointer to the page where blob is ? Is
that blob page part of same tablespace or is it spread somewhere in
the dbspace ?
3. How does informix look for free pages for blobs and row data. As I
understand every tablespace has bitmap page that tracks available
pages in tablespace. Is this page in every extent of tablespace ?
4. In table fragmented by round robin how does informix find free page
from bitmap page. Does informix just randomly pick any dbspace and
then look for free page in tablspace with help of extent information
and bit map page of that extent ?
5. I think all concurrent sessions trying to insert a row to a table
try to get a lock on bitmap page and if other thread has already
locked this bitmap page then it waits until freed. Does fragmenting
table with round robin alleviate this issue, does informix redirects
the thread to see if other bitmap page is free in tablespace of other
Informix-list mailing list