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

Base64でエンコードされた値をMySQLDBに保存する最良の方法は?

    照合は、ORDER BYが必要な場合にのみ違いがあります または列を検索します。これらのbase64でエンコードされたアイテムは、おそらく検索またはソートされません。

    エンコードされたアイテムの長さが64Kバイト未満であることが保証されている場合は、次のように列を定義します。

       `columnname` TEXT CHARACTER SET ascii,
    

    これはまさにbase64でエンコードされた変数に必要なものです。エンコードプロセスにより、すべてが表示可能なASCIIに変換されます。

    アイテムの長さが16メガバイト未満で、64kを超えるものがある場合は、MEDIUMTEXTを使用します。 TEXTの代わりに 。

    編集 数年後。

    デコードされたOQエンコード文字列は、シリアル化されたphpオブジェクトです:

    a:2:{s:20:"Type_of_organisation";s:20:"Member of Parliament";s:8:"Postcode";s:7:"PE1 1JA";}
    

    観察1:utf8またはutf8mb4文字セットを使用して、これらのものの多くはエンコードせずにテキスト列に格納されます。たくさん?はい。 WordPressはこの方法でオプションデータを保存します。

    観察2:JSONに変換できる場合は、MySQLの最近のバージョンでJSONデータ型を使用できます。 JSON検索はまだ引数にできませんが、構造化されています。




    1. 2列から正確なタンデム値をグループ化しますか?

    2. Debian 5でMySQLリレーショナルデータベースを使用する(Lenny)

    3. MySQLGROUPBYおよび空の行を埋める

    4. フルテキストインデックスが作成されていないため、テーブルビューまたはインデックスビューでCONTAINSまたはFREETEXT述部を使用することはできません。