I have heavily updated / accessed table where I store serialized java objects. They are in the table for 2-3 hours (also are being updated during that period) and then removed. Size of table is around 300MB. I have spotted it is very, very often VACUUMed and wonder if changing the fillfactor would help?
|
|
||||
|
|
|
The key words here are:
Point 1. is indication for a lower fill factor, while 2. is the opposite. It helps performance if multiple row versions are stored on the same data page. H.O.T. updates would achieve that. Read here or here. They need some wiggle room on the data page - like dead tuples or space reserved by a Another important factor here would be the tuple size (in comparison to your page size (which is most commonly 8 kb). More details in this related answer: If the tuple size is 4 kb or more, reducing the fill factor would be futile, since there can never be more than one tuple on a data page. You might as well leave it at But whatever you do,
Bold emphasis mine. In particular with But that depends on access patterns. If all tuples live, say, 3 hours and are inserted in chronological order, and each is updated several times, I would still lower the AlternativesAll this aside, since your data seem to be volatile to begin with: use an
Bold emphasis mine. So, don't use this if your server might crash and you still need the data afterwards. But if we are talking about session data for web applications, this might be an acceptable price to pay. Or, even more radical: Use a key-value store like Redis if you can do without the features and security provided by an RDBMS altogether. |
||||
|
|