Ну, для початку треба якимось чином сказати мусклу шо юзати треба саме ramdisk
Я б зробив так - при стопнутому мусклі мувнув ~mysqld/data директорію на ramdisk, і тоді просто стартував сервер.
1. готуєм рам-диск розміром 4Гб (його ж є у вас, правда?):
mount -t tmpfs -o size=4G,nr_inodes=20k,mode=777 tmpfs /mnt/ram
2. стопаєм сервер
service mysqld stop
3. копіюєм директорію бази даних 'database' в память, і робим лінк ~mysql/database який вказує на ramdisk:
cd ~mysql
mv database database.orig
cp -R database.orig /mnt/ram/database
ln -s /mnt/ram/database ~mysql/database
4. service mysqld start
Всьо, тепер мускл сервер is running, і робота з базою даних 'database' відбувається тільки в памяті
Select/Update квері виконуються набагато швидше, але якщо мускл сервер зупинити - всі дані для цієї бази даних будуть втрачені! Якшо фізичний сервак раптом зробить ребут - то саме.
Шоб їх зберегти - треба скопіювати файли цієї бази даних з ram на hdd:
/bin/cp -R /mnt/ram/database ~mysql/database.backup
і після того стопати mysql сервер.
Таким чином, можна пододавати в память кожну потрібну базу даних.
Це стосується лише MyISAM таблиць, з InooDB такого робити не варта, оскільки InnoDB engine має алгоритми кешування даних в памяті і намагається тримати в памяті по максимуму даних. Коротше - виграшу в швидкодії точно не буде, а покоцати дані - як два байти об асфальт.
Для innodb - можна логи транзакцій на окремому диску писати, перевіряв, реально допомагає
Як варіант оптимізації mysql - можна перевести таблиці в innodb формат, але реально це відчується на базах даних з великими таблицями даними під постійним навантаженням. Якщо таблиці і дані не є великі - мабуть MyISAM буде оптимальним варіантом. Тут вже теба аналізувати самі дані і структуру таблиці та sql запитів які виконуються, може де буде достатньо індекс додати
Ше можливий варіант - юзати HEAP-таблиці (знову ж таки, доведеться заморочуватись з збереженням даних з памяті на диск інакше до-побачення).
А взагалі - можна і залізо на сервері поміняти, скажімо юзати диски SCSI замість SATA.
І як на мене - цей останній варіант - найнадійніший з точки зору збереженя даних;)
Про кластери mysql я просто згадаю шо є й такий солюшн, але він не є загальновживаний бо, як правило, має специфічні вимоги до аплікацій.