Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

lewati penyalinan ke tabel tmp di disk mysql

Ada dua hal yang dapat Anda lakukan untuk mengurangi dampak ini

OPSI #1 :Tingkatkan variabel tmp_table_size dan/atau max_heap_table_size

Opsi ini akan mengatur seberapa besar tabel temp dalam memori sebelum dianggap terlalu besar dan kemudian halaman ke disk sebagai tabel MyISAM sementara. Semakin besar nilai ini, semakin kecil kemungkinan Anda akan mendapatkan 'menyalin ke tabel tmp di disk'. Harap pastikan server Anda memiliki RAM yang cukup dan koneksi_maks dikonfigurasi secara moderat jika koneksi DB tunggal membutuhkan banyak RAM untuk tabel temp-nya sendiri.

OPSI #2 :Gunakan disk RAM untuk tabel tmp

Anda harus dapat mengonfigurasi disk RAM di Linux dan kemudian mengatur tmpdir di mysql menjadi folder tempat disk RAM terpasang.

Sebagai permulaan, konfigurasikan disk RAM di OS

Buat folder di Linux bernama /var/tmpfs

mkdir /var/tmpfs

Selanjutnya, tambahkan baris ini ke /etc/fstab (misalnya, jika Anda menginginkan disk RAM 16GB)

none                    /var/tmpfs              tmpfs   defaults,size=16g        1 2

dan reboot server.

Catatan:Dimungkinkan untuk membuat disk RAM tanpa me-reboot. Ingatlah untuk tetap menambahkan baris yang disebutkan di atas ke /etc/fstab agar disk RAM setelah server di-boot ulang.

Sekarang untuk MySQL:

Tambahkan baris ini di /etc/my.cnf

[mysqld]
tmpdir=/var/tmpfs

dan mulai ulang mysql.

OPSI #3 :Dapatkan tabel tmp ke dalam Disk RAM ASAP (dengan asumsi Anda menerapkan OPSI #2 terlebih dahulu)

Anda mungkin ingin memaksa tabel tmp ke dalam disk RAM secepat mungkin sehingga MySQL tidak memutar rodanya dengan memindahkan tabel tmp besar dalam memori ke dalam disk RAM. Cukup tambahkan ini ke /etc/my.cnf:

[mysqld]
tmpdir=/var/tmpfs
tmp_table_size=2K

dan mulai ulang mysql. Ini akan menyebabkan tabel temp terkecil menjadi ada tepat di disk RAM. Anda dapat menjalankan ls -l /var/tmpfs . secara berkala untuk melihat tabel sementara datang dan pergi.

Cobalah !!!

PERINGATAN

Jika Anda tidak melihat apa pun selain tabel temp di /var/tmpfs 24/7, ini dapat memengaruhi fungsionalitas/kinerja OS. Untuk memastikan /var/tmpfs tidak kelebihan populasi, lihat penyetelan kueri Anda. Setelah melakukannya, Anda akan melihat lebih sedikit tabel tmp yang muncul di /var/tmpfs.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. membandingkan tanggal berdasarkan bulan dan tahun di mysql

  2. Apakah lebih baik menggunakan nilai kosong sebagai '' atau sebagai NULL?

  3. MySQL:Kolom 'column_name' di mana klausanya ambigu

  4. Konfigurasi Ketersediaan Tinggi untuk Node ClusterControl Menggunakan CMON HA

  5. Tidak ada pemetaan Dialek untuk tipe JDBC:1111