uuidをmysql
に保存することができます。専門家が提案する別のアプローチは、パフォーマンスを改善するためにUUIDを数値として保存することです。これがRubyでどのように行うかを探りましょう。たとえば、「110E8400-E29B-11D4-A716-446655440000」のようなUUIDは、「110E8400E29B11D4A71644465440000」になります。 MySQLのバイナリデータ型は、文字列よりも処理するためにより効率的なバイナリ表現を使用します。次のクエリ:
Inserting to table_name(field_binary)values(unhex( "110e8400e29b11d4a71644466655440000")] uuidを取得するには、次の質問を使用します:
field_binary)as table_name
ruby code Integration
rubyのruby code統合、uuidtools gemを使用してuuidsを生成し、バイナリに変換できます。 gemは、uuid.newやuuid.hex_to_binなどの方法を提供します。例:が「uuidtools」を要求する #文字列としてUUIDを生成します uuid = uuid.new #ダッシュを削除し、バイナリに変換します binary_uuid = uuid.to_s.gsub( " - "、 "").hex_to_bin #バイナリUUIDをmysqlに保存します #... #MySQLからバイナリUUIDを取得します #... #ダッシュで元のUUIDを再構築します new_uuid = binary_uuid.bin_to_hex.gsub(/((。{8})(。{4})(。{4})(。{4})(。{12})/、 '\ 1- \ 2- \ 3 - \ 4- \ 5 ')
INSERT INTO table_name (field_binary) VALUES (UNHEX("110E8400E29B11D4A716446655440000"))これらの手順に従うことにより、UUIDをMySQLのバイナリ番号として効率的に保存および取得でき、インデックス付きUUIDを使用するとパフォーマンスを向上させることができます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3