検索

ホームページ  >  に質問  >  本文

MySQL 混合 utf8 utf8mb4 には純粋な utf8mb4 と比べて利点はありますか?

テーブルが多すぎます。ニックネームとコメントのみが utf8mb4 に設定されています。
config、タグ、ルーターなどは utf8mb4 をまったく使用せず、依然として utf8 です。
この種の utf8 utf8mb4 ハイブリッド
検索、インデックス、ログに影響します レコードは重要ですか?
この方法は純粋な utf8mb4 よりも高速ですか?安定していますか?
mysqld 設定の設定を変更し、utf8mb4 を最適化する必要がありますか?

PHP コード DB_CHARSET は utf8mb4 を設定しますが、uft8 データに影響しますか?

巴扎黑巴扎黑2738日前1021

全員に返信(1)返信します

  • 阿神

    阿神2017-06-22 11:56:49

    利点はあまりありません
    utf8mb4 は絵文字などの特殊文字の保存に 4 バイトしか使用しないためです
    残りの時間は、パフォーマンスは mysql の utf8 文字セットと同じです

    中国語の文字の保存には依然として 3 バイトが必要です。

    (MySQL utf8 文字セットの単一文字の最大長の実装が間違っていたため、utf8mb4 文字セットが出てきました。実際、この utf8mb4 が標準の utf8 です)

    もちろん、mysql の char 列タイプは utf8mb4 の下にあるため、char の使用を避け、代わりに varchar を使用する必要があります。すべてのデータが確実に格納されるように、char はバイト数 * 4 文字 (char 列) を占有します。 mysql の utf8 タイプは、十分なスペース割り当てを確保するためにバイト数 (文字数 * 3) を占有するため、スペースを節約するために可変長 varchar を使用することをお勧めします。実際のストレージに必要 + 1 または 2 バイトで表される長さ。

    さらに、純粋な英語の文字列の場合は、varbinary (可変長バイナリ) およびバイナリ列 (パスワード ハッシュなどの固定長の英語文字に適しています) も考慮できます。これは、varchar よりもパフォーマンスがわずかに優れています。バイナリデータ

    返事
    0
  • キャンセル返事