MySQL Cluster mendukung penyimpanan kolom yang tidak diindeks pada disk-saja dengan cache LRU dari data yang baru diakses. Namun kolom yang diindeks selalu disimpan dalam memori.
MySQL Cluster mengalokasikan seluruh memori, sesuai dengan parameter DataMemory dan IndexMemory. Ini tidak akan meminta OS yang mendasari untuk lebih banyak memori secara dinamis.
Ini berarti Anda harus mengkonfigurasi cukup memori di seluruh cluster Anda untuk menampung semua kolom yang diindeks dalam memori. Jika dataset Anda cukup besar sehingga kolom yang diindeks lebih besar dari memori cluster yang tersedia, maka Anda tidak dapat memuat dataset tersebut ke dalam cluster. Pada titik tertentu Anda akan kehabisan ruang, dan transaksi memasukkan Anda akan dibatalkan.
Saat mengonfigurasikan DataMemory dan IndexMemory, yang terbaik adalah membatasi diri Anda menjadi sedikit kurang dari memori fisik di setiap sistem. Beberapa memori fisik harus disediakan untuk OS dan proses lainnya.
Secara teoritis MySQL Cluster dapat dikonfigurasi sehingga menggunakan memori virtual melalui perangkat swap (misalnya lebih dari memori fisik), tetapi sebagai jawaban lain menyatakan, ini bukan kasus yang dirancang untuk digunakan. Memiliki struktur di dalam memori yang ditukar ke disk biasanya kurang optimal karena pola akses acak di dalam memori menghasilkan akses acak ke disk, yang mengakibatkan swap meronta-ronta dan melambat di seluruh sistem. Dengan MySQL Cluster, hasil yang paling mungkin adalah gagal jantung dan kegagalan cluster karena pertukaran data tidak merespons sinyal dengan cukup cepat.
Untuk secara efisien mendukung indeks memori yang lebih besar daripada agregat, MySQL Cluster perlu mendukung format indeks pada disk (mungkin pohon B dll.) Dengan pola caching dan akses yang selaras dengan properti akses disk.