MySQL に UUID を数値として保存する方法
UUID を数値として保存すると、文字列として保存するよりもパフォーマンスが向上します。 MySQL でこれを実現する方法に関するステップバイステップのガイドは次のとおりです。
MySQL で BINARY フィールドを作成します。
バイナリ UUID (この例では 16) の長さと一致する長さの BINARY フィールドを MySQL テーブルに作成します。これは以下を使用して実行できます:
CREATE TABLE my_table ( uuid BINARY(16) NOT NULL );
バイナリ UUID を挿入します:
UNHEX() 関数を使用してバイナリ UUID をフィールドに挿入します:
INSERT INTO my_table (uuid) VALUES (UNHEX('110E8400E29B11D4A716446655440000'));
UUID の取得と変換:
データベースから UUID を取得する場合は、BINARY フィールドを選択し、HEX() 関数を使用してハイフンで区切られた UUID に変換し直します:
SELECT HEX(uuid) AS original_uuid FROM my_table;
Ruby コード統合:
挿入:
ActiveSupport::Digest::UUID.binary_pack(uuid) を使用して、UUID をバイナリ文字列に変換します。次に、フィールドに挿入する前に、UNHEX() 関数を使用して 16 進文字列に変換します。
取得:
フィールドからバイナリ UUID を取得し、それを UUID に変換します。 HEX() を使用した 16 進数文字列。次に、ActiveSupport::Digest::UUID.uuid_unpack() を使用して、16 進 UUID を元の形式に変換できます。
以上がパフォーマンスを向上させるために MySQL に UUID を数値として保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。