Mysql
 sql >> Database >  >> RDS >> Mysql

utf-8 vs latino1

Vantaggi UTF8:

  1. Supporta la maggior parte delle lingue, comprese le lingue RTL come l'ebraico.

  2. Non è necessaria alcuna traduzione durante l'importazione/esportazione di dati in componenti compatibili con UTF8 (JavaScript, Java, ecc.).

Svantaggi UTF8:

  1. I caratteri non ASCII impiegheranno più tempo per la codifica e la decodifica, a causa del loro schema di codifica più complesso.

  2. I caratteri non ASCII occuperanno più spazio poiché potrebbero essere archiviati utilizzando più di 1 byte (caratteri non inclusi nei primi 127 caratteri del set di caratteri ASCII). Un CHAR(10) o VARCHAR(10) campo potrebbe richiedere fino a 30 byte per memorizzare alcuni caratteri UTF8.

  3. Fascicolazioni diverse da utf8_bin sarà più lento poiché l'ordinamento non verrà mappato direttamente all'ordine di codifica dei caratteri) e richiederà la traduzione in alcune procedure memorizzate (poiché le variabili predefinite sono utf8_general_ci confronto).

  4. Se hai bisogno di JOIN Campi UTF8 e non UTF8, MySQL imporrà un GRAVO colpo di prestazione. Quelle che sarebbero query inferiori al secondo potrebbero richiedere minuti se i campi uniti sono set di caratteri/confronti diversi.

In conclusione:

Se non hai bisogno di supportare lingue diverse da Latin1, vuoi ottenere le massime prestazioni o hai già tabelle usando latin1 , scegli latin1 .

Altrimenti, scegli UTF8 .