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

Mengapa mengubah dari utf8 ke utf8mb4 memperlambat basis data saya?

utf benar-benar utfmb3 dan dapat menggunakan maksimal 3 byte per karakter sedangkan utfmb4 dapat menggunakan 4 byte per karakter. Untuk kolom VARCHAR ini biasanya tidak banyak perbedaan karena MySQL hanya akan menyimpan byte sebanyak yang diperlukan (kecuali Anda telah membuat tabel MyISAM Anda dengan ROW_FORMAT=FIXED).

Namun, selama eksekusi kueri, MySQL dapat membuat tabel sementara di mesin penyimpanan MEMORY yang tidak mendukung baris dengan panjang variabel. Tabel sementara ini memiliki ukuran maksimum, dan jika ukuran tersebut terlampaui, tabel sementara akan diubah menjadi tabel di MyISAM/InnoDB (tergantung versi MySQL Anda). Variabel status Created_tmp_disk_tables akan bertambah setiap kali ini terjadi. Jika demikian, coba lihat apakah ini membantu meningkatkan nilai max_heap_table_size dan tmp_table_size .

Atau, tingkatkan ke MySQL 8.0 di mana mesin penyimpanan baru yang mendukung baris dengan panjang variabel digunakan untuk tabel sementara internal.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengulang array sesi di php

  2. Cara menggabungkan dua kolom ke tabel yang sama

  3. Apa gunanya prosedur tersimpan?

  4. MYSQL - Ratakan Tabel Query

  5. Membandingkan Waktu Failover Proxy Basis Data - ProxySQL, MaxScale, dan HAProxy