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

utf-8 vs latin1

Keunggulan UTF8:

  1. Mendukung sebagian besar bahasa, termasuk bahasa RTL seperti Ibrani.

  2. Tidak diperlukan terjemahan saat mengimpor/mengekspor data ke komponen sadar UTF8 (JavaScript, Java, dll).

Kekurangan UTF8:

  1. Karakter non-ASCII akan membutuhkan lebih banyak waktu untuk dikodekan dan didekode, karena skema penyandiannya yang lebih kompleks.

  2. Karakter non-ASCII akan memakan lebih banyak ruang karena dapat disimpan menggunakan lebih dari 1 byte (karakter tidak dalam 127 karakter pertama dari kumpulan karakter ASCII). Sebuah CHAR(10) atau VARCHAR(10) bidang mungkin memerlukan hingga 30 byte untuk menyimpan beberapa karakter UTF8.

  3. Kumpulan selain utf8_bin akan lebih lambat karena urutan pengurutan tidak akan langsung dipetakan ke urutan pengkodean karakter), dan akan memerlukan terjemahan dalam beberapa prosedur tersimpan (sebagai variabel default ke utf8_general_ci pengumpulan).

  4. Jika Anda perlu JOIN Bidang UTF8 dan non-UTF8, MySQL akan menerapkan PARAH hit kinerja. Apa yang akan menjadi kueri sub-detik berpotensi memakan waktu menit jika bidang yang digabungkan adalah kumpulan karakter/kolasi yang berbeda.

Intinya:

Jika Anda tidak perlu mendukung bahasa non-Latin1, ingin mencapai performa maksimal, atau sudah memiliki tabel menggunakan latin1 , pilih latin1 .

Jika tidak, pilih UTF8 .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbarui tabel MySQL dan abaikan entri duplikat

  2. Sisipkan MySQL jika tidak ada / jika tidak ada

  3. Menggunakan MySQLi dari kelas lain di PHP

  4. Mysql menghapus kata tertentu dalam string yang dipisahkan koma

  5. Apa yang terjadi pertama kali di mysql:gabung atau di mana