Re: Where are FillFactors stored in system tables?
Posted in 1997
}I've seen some (fairly duplicative...) as bad as 45% actual fillfactor
}right after build with fillfactor specified as 90 or 100 in onconfig.
}Yick.
I'm not an expert on fill-factor, and I've not played with oncheck -pT in a
long time, but...
If the index fill factor is 90%, then an index node will be split into to
45% full nodes, and one of those nodes would then get an extra record
inserted, leaving that node at, say, 47% full, while the other would be
stuck at 45%. That seems to be a legitimate consequence of the build
process.
There are a number of things that could make that an invalid analysis, so
be careful in interpreting this. It may, in particular, depend on how the
index is built.
Yours,
Jonathan Leffler (johnl@informix.com) #include <disclaimer.h>
Greg (greg@cyberramp.net) wrote:
}X-Informix-List-Id: <news.36254>
}
}Oooooohhhh....you hit one of my little Informix pet peeves, brace
}yourself....
}
}First off, there is no place where the current / ongoing fillfactor of
}an index is stored. You set it in the onconfig file, and that's in
}theory how indexes *should* get built. After that, anything can happen
}to them. Kinda like clustered indexes.
}
}One little gotcha though. You only get the fillfactor you specify *if*
}(and only if...) the index is unique. A nonpublicized quirk of the
}index build algorithm is that if the index isn't unique, you can get
}indexes that are truly dreadfully built. I've seen some (fairly
}duplicative...) as bad as 45% actual fillfactor right after build with
}fillfactor specified as 90 or 100 in onconfig. Yick.
}
}In theory, this should about double the bufreads and possibly the disk
}i/o's to process the quite sparse index. As anal as Informix seems to
}be about disk i/o's and even context switches of all the goofy things
}(don't get me started on this one...), it seems silly to be so wasteful
}here. Maybe the next best algorithm is 20 times slower, who knows??
}
}Futz around with "oncheck -pT" to see what I mean....
}
}Greg
}
}p.s. fortunately, there really aren't all that many Informix quirks
}that really irk me...
}
}> David Gilbert (xanadu@mcs.net) wrote:
}> Once you create an index with a fill factor, where does Informix store
}> it in the data dictionary?
}>
}> For example, I would like to get a list of all the indexes with Fill Factors
}> less that 90.