IDS2000 database in memory??
Posted in 2000
Topics: Performance & Tuning, Logging & Checkpoints
I know you can do a "set table TABLE_NAME memory_resident", but can you do that for the whole database? We have a few GB's of memory to burn and it sounds great (in theory) for performance reasons. What, if anything can we do to do this short of a startup script to put each and every table memory_resident? Are there any serious pitfalls if the DB is 90%read and checkpoints are very often and LRU MIN/MAX are low.
"Phillippe J. Welsh" wrote: > I know you can do a "set table TABLE_NAME memory_resident", but can you > do that for the whole database? We have a few GB's of memory to burn and > it sounds great (in theory) for performance reasons. What, if anything > can we do to do this short of a startup script to put each and every > table memory_resident? Are there any serious pitfalls if the DB is > 90%read and checkpoints are very often and LRU MIN/MAX are low. If you have that much memory to assign to buffers then tables will naturally migrate to memory and stay there. That is the nature of Informix's cache algorithms. Marking them resident will not pre-load the cache it just marks those cache pages HIGH priority so that lower priority pages (index nodes, non-resident data pages, and index leaves and catalog pages) cannot flush them from memory once loaded. If there is enough cache this will happen anyway. Then engine was designed that way. Art S. Kagel
And if you can't wait for the buffers to populate naturally then run seq scan across the table to pre-load the buffers before you let 'users' in "Art S. Kagel" wrote: > > "Phillippe J. Welsh" wrote: > > > I know you can do a "set table TABLE_NAME memory_resident", but can you > > do that for the whole database? We have a few GB's of memory to burn and > > it sounds great (in theory) for performance reasons. What, if anything > > can we do to do this short of a startup script to put each and every > > table memory_resident? Are there any serious pitfalls if the DB is > > 90%read and checkpoints are very often and LRU MIN/MAX are low. > > If you have that much memory to assign to buffers then tables will naturally > migrate to memory and stay there. That is the nature of Informix's cache > algorithms. Marking them resident will not pre-load the cache it just > marks those cache pages HIGH priority so that lower priority pages (index > nodes, non-resident data pages, and index leaves and catalog pages) cannot > flush them from memory once loaded. If there is enough cache this will > happen anyway. Then engine was designed that way. > > Art S. Kagel -- Paul Watson # WF Software Ltd # You are only young once Tel: +44 1436 674729 # but you can be immature Fax: +44 1436 678693 # for ever www.wfsoftware.com #