Welcome to WebmasterWorld Guest from 220.127.116.11
Forum Moderators: open
MySQL allows in-memory tables, that should be a better option.
IMHO one should speed-up database by good database design and preventing program from using it whenewer possible (i.e. use disk-level cache for rarely-changing pages).
Apart from that, you may find that MySQL's memory-table also doesn't provide any noticable performance benefit, or even some degredation if you're going to store dynamic rows in it.
If you can cache the (processed) data, I'd look at that. Especially a system like memcached or similar environments are quite easy to use and can be very fast. Also keep in mind that a cache can already be beneficial if you have to reproduce your data every second... Which is, normally, quite rare, you can normally get away with at least one minute.
But wait. Mysql and your O/S should be caching the files in ram anyway so there is no need for a ramdrive here. All you need to do is ensure you have plenty of ram and tune with something like
MySQLTuner by Major Hayden
Ramdrives should be used for storing legacy databases, processing of temporary files and indexes, session files, files you want to permanently cache which may not be cachable via the o/s or apache.
A few more inexpensive ways of increasing performance (assuming linux / apache / mysql)
Have two disks but don't mirror them. One disk is used for the o/s and the other just for the database files.
Set log files to absolute minimum. Don't log image files, .js etc.
Remove all unecessary services from starting up.
Turn off noatime on the volumes.
Set disk acoustic level to fast / loud.
Yes, it is basically a read only database. WRITE occurs only if administrators (3 persons) do that.
If I do not see big benefits by loading database file into memory, I will then load all static files used by the application to memory, hopefully that makes some difference.