データベース内のほとんどのテーブルにはvarchar型のデータがあり、長さは36に設定されており、ネイティブに作成されたguidを埋めるために使用されます。 varcharはmysqlにguid値やその他の型を格納するのに最適なデータ型ですか? plz説明mysqlデータ型
答えて
これは良い質問です。私は多くの場所で、数字のように見えるさまざまな種類のIDに対してvarcharを使用することを見てきました。なぜ整数を使用しないのですか?まあ、私の経験では、3つの主要なケースがあります:
数字は大きすぎます。たとえば、32桁の数値(64ビットの符号なし整数の最大値は20桁)に対して整数(64ビットの大整数)を使用することはできません。
一部の数字には特殊な書式があります。たとえば、電話番号は+44(12)3456789のようになります。今や明らかに、+、(、)は数値の一部ではなく、数値なしで呼び出すことができますが、これは通常の形式なので、整数変数の場合はこれを保存することはできません。
今後、IDを変更して文字を含むことがあるため、最初から数百万件のレコードを変更する必要がないようにすることをお勧めします。
希望します。
PROCEDURE ANALYSEをチェックアウトすることができます。すでにテーブルにあるものに基づいて適切なデータ型を提案するのに役立ちます。
ここにはblog postがあります。これはPROCEDURE ANALYZEについてもお伝えしており、参考になる場合もあります。
つまり、varcharではすべての文字を使用できますが、数値データ型のようにオーバーフローすることは通常ありません。ですから、あなたのGUIDに大きな数値や数値が含まれていると予想されたら、あなたは金色です。
GUIDの長さが常に36でヌルでない場合は、VARCHARではなくCHARを使用してください。 VARCHARは各行の長さ接頭部を格納する必要があるため、スペースを節約します。
また、すべての列が固定長であると、データベースがより効率的に行をスキャンできるため、パフォーマンスが向上する場合もあります。
それはすべてあなたが「最も適した」によって何を意味するかに依存します。
varchar(36)の利点は簡単です。 GUIDをそのまま保存し、簡単に読み戻すことができます。
しかし、あなたが列を取り、その後、あなたはいくつかの選択肢があることをディスク領域の量を心配している場合:
VARCHAR(36)= 37バイト CHAR(36)= 36バイト チャー(
もしあなたがディスクスペースを心配しているなら、バイナリ(バイナリ文字列を得るためにハイフンを取り除いてunhexを)バイナリ(16) (16)はvarchar(36)よりはるかに優れています。
は、ここでのMySQLにGUIDからバイナリ(16)の文字列を取得する例を示します
unhex(replace(uuid(),'-',''))
- 1. C#データ型とMySqlデータ型
- 2. Mysqlデータ型
- 3. MySQLデータ型
- 4. ベストMySQLのデータ型
- 5. Microsoft Accessのメモデータ型をMySQLデータ型
- 6. データ型をmySQLに設定
- 7. Doctrine 2 - YAMLのMySQLデータ型
- 8. 収益データ型はmysql?
- 9. MySQLデータ型の問題
- 10. MySQLの固定長データ型と可変長データ型
- 11. BLOBデータ型をmysqlで表示する
- 12. mysqlのDC2Type配列データ型とは
- 13. 小数点(5、1)MySqlデータ型
- 14. PHP preg_match mysql時刻のデータ型をxxx:xx:xx
- 15. Google OAuth 2.0 MYSQLのユーザーIDデータ型
- 16. MySQLのリレーショナルテーブルとプライマリキーのデータ型
- 17. MySQLのBLOBデータ型について
- 18. MySQLのBLOBデータ型とTEXTデータ型の違いは何ですか?
- 19. MySQLでGPSデータを保存するためのデータ型
- 20. のようなデータ・セット用のMySQLデータ型
- 21. C++データ型とC#データ型
- 22. カスタムデータ型(MPI_Datatypeデータ型)?
- 23. 列挙型データ型
- 24. GTKのデータ型とベースのデータ型
- 25. mysqlの文字列型(java)と日付データ型の変換方法は?
- 26. ブール型のデータ型がMySQLで動作しないのはなぜですか?
- 27. mysqlの文字列型(java)と日付データ型を変換するには?
- 28. データ型
- 29. データ型
- 30. データ型データ注釈
あなたのGUIDがどのように見えますか? – Tobias