sql >> データベース >  >> RDS >> Mysql

utf-8 vs latin1

    UTF8の利点:

    1. ヘブライ語などのRTL言語を含むほとんどの言語をサポートします。

    2. UTF8対応コンポーネント(JavaScript、Javaなど)にデータをインポート/エクスポートする場合、変換は必要ありません。

    UTF8の短所:

    1. 非ASCII文字は、より複雑なエンコードスキームのため、エンコードとデコードに時間がかかります。

    2. 非ASCII文字は、1バイト(ASCII文字セットの最初の127文字にない文字)を使用して格納される可能性があるため、より多くのスペースを必要とします。 CHAR(10) またはVARCHAR(10) 一部のUTF8文字を格納するには、フィールドに最大30バイトが必要な場合があります。

    3. utf8_bin以外の照合 並べ替え順序が文字エンコード順序に直接マップされないため、速度が低下し、一部のストアドプロシージャで変換が必要になります(変数のデフォルトはutf8_general_ciであるため)。 照合)。

    4. JOINが必要な場合 UTF8および非UTF8フィールドの場合、MySQLは SEVEREを課します パフォーマンスヒット。 1秒未満のクエリは、かかる可能性があります。 結合されたフィールドが異なる文字セット/照合である場合。

    結論:

    非Latin1言語をサポートする必要がない場合、最大のパフォーマンスを達成したい場合、またはlatin1を使用するテーブルがすでにある場合 、latin1を選択します 。

    それ以外の場合は、UTF8を選択します 。



    1. Access2016でテーブルからサブフォームを作成する方法

    2. ストアドプロシージャ-IDを出力パラメータまたはスカラーとして返します

    3. PostgreSQLのスキーマを使用したHibernateおよびマルチテナントデータベース

    4. NetbeansのSSH経由でMySqlデータベースに接続します