Saya ingin mengoptimalkan MySQL untuk pengguna tunggal (saya). Tidak ada orang lain yang terhubung ke database. MySQL diinstal secara lokal di PC saya. Datanya mencakup sekitar 70 tabel dengan total data sebesar 150 GB. Datanya statis, jadi saya tidak akan mengubahnya (tidak ada UPDATE atau DELETE). Saya ingin menganalisis data, jadi saya akan menjalankan kueri besar dan kompleks termasuk SELECT dan JOIN pada sebagian besar data.
Mesin:
- Windows 7 64-bit
- Intel Core i7-4800MQ @ 2,70GHz
- RAM 32GB
- 2x SSD 512 GB
- MySQL 5.7, INNODB
Apa yang saya lakukan sejauh ini:
- HyperThreading dinonaktifkan (MySQL hanya menggunakan satu Core virtual per
kueri - penggunaan CPU 12,5% --> 25%) - Deklarasikan kunci utama dan
- Mengindeks semua kunci asing
- innodb_buffer_pool_size = 25G
- koneksi_maks=10
- Penggunaan InnoDB
Jadi, apa yang dapat saya lakukan untuk mengoptimalkan konfigurasi (bukan kueri itu sendiri) untuk kueri pengguna tunggal?
- mesin basis data?
- konfigurasi umum?
- lebih baik menyimpan semua informasi gabungan?
Catatan: Pada konfigurasi saat ini, penggunaan CPU menjadi penghambat karena berada pada 25% saat saya menjalankan kueri yang kompleks. Sebagai pengujian saya mencoba beberapa pertanyaan besar (mengambil banyak data). Kalau saya percaya waktu MYSQL Workbench durasinya hanya 4 detik, tapi setelah 10 jam berjalan tidak bisa menyelesaikan pengambilan data...
Terima kasih banyak!