Kami telah mengalami masalah di mana kueri tabel yang memiliki sekitar 50 juta baris, dan memiliki ukuran indeks 4 GB (ukuran tabel sekitar 6 GB) menghasilkan server database bertukar memori, dan melambat secara dramatis. Saya cukup yakin ini ada hubungannya dengan ukuran tabel temp yang terlampaui, dan itu ditukar ke disk.
Jika saya memutakhirkan server database saya dari 32 GB RAM menjadi 64 GB RAM, saya bertanya-tanya apakah database MySQL akan dapat sepenuhnya memanfaatkan memori tambahan ini dan tidak bertukar. Saya telah melalui beberapa variabel (misalnya KEY_BUFFER_SIZE, dll ...), dan mereka tampaknya mendukung nilai pengaturan lebih dari 64 GB. Namun, dokumentasi MySQL mengatakan bahwa tmp_table_size maksimal sebesar 4 GB.
Jadi, apakah peningkatan memori akan sia-sia? Apakah masalah "kueri-tabel-besar" akan mendapat manfaat dari ini, atau apakah itu tidak membantu karena batas 4 GB? Saya tahu ada potensi solusi lain seperti merestrukturisasi tabel untuk dipartisi dengan cara yang berbeda, dll ... tetapi tanpa mengubah apa pun tentang tabel, akankah memori tambahan membantu?
Selain itu, secara umum, apakah ada variabel terkait memori lain yang tidak dapat dimanfaatkan MySQL saat beralih dari 32 ke 64 GB RAM?
Kami menggunakan linux 64bit (Ubuntu) sebagai server basis data kami.
Terima kasih, Galen