I'm experimentation with running PostgreSQL on the ramdisk on home windows. Generate an income made it happen ended up being to simply put the data directory around the ramdisk.
Without getting done any sort of benchmarks, the performance appears to become magnificent and just CPU bound. My real question is exactly what the optimal values for such things as work_mem, shared_buffers etc. could be?
Even if the database is within ram it take over fifty percent one minute to operate a lot of my queries. Therefore, I question whether or not this makes sence to produce indexes up for grabs. The indexes would, obviously, have to remain in ram. I ought to mention that i'm using PostgreSQL for any data warehouse (small one, though).
Edit: I ought to mention that i'm while using RamDisk utility from DataRam.com. It only provides me with a bluescreen every now and then, after i configure the ramdisk, never when it's established. I think about this as nostalgic eyecandy. )
I'd certainly create indexes. The engine may use the data contained for a variety of optimizations, also it should enhance your performance a great deal. RamDisk solves the worst situation table scan type cases, however it does not always imply that that tablescan is faster than carrying out a correct research.
Yes, use indexes but work_mem still is dependent on how big the equipment itself. Obviously a primary reason you'll need a high work_mem is really you do not hit disk to complete the tape sort. On the ramdisk this is not as harmful. Keep in mind, you've got no data integrity on the ram disk.