"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que armazenar UUIDs como números no MySQL para melhorar o desempenho?

Por que armazenar UUIDs como números no MySQL para melhorar o desempenho?

Postado em 2025-02-06
Navegar:818

Why Store UUIDs as Numbers in MySQL for Improved Performance?

armazenando uuids como números em mysql

armazenando UUIDs como strings no mySQL pode resultar em problemas de desempenho, especialmente quando a indexação está envolvida. Uma abordagem alternativa sugerida por um especialista é armazenar UUIDs como números para melhorar o desempenho. Vamos explorar como isso pode ser feito no rubi. Por exemplo, um UUID como "110E8400-E29B-11D4-A716-446655440000" torna-se "110E8400E29b11d4a7164466655440000". Tipos de dados binários em MySQL usam a representação binária, que é mais eficiente para o processamento do que as strings. A seguinte Query:

inserir em table_name (field_binary) valores (UNSEX ("110E8400E29B11D4A716446655440000")) para recuperar o uuid, use o seguinte querery:

field_binary) como field_binary de table_name

ruby ​​código integration

no rubi, você pode usar a gema uuidTools para gerar uuids e convertê -los para binário. O GEM fornece métodos como uuid.new e uuid.hex_to_bin. Por exemplo:

requer 'uuidtools' # Gerar um uuid como uma string uuid = uuid.new # Remova traços e converta para binário binary_uuid = uuid.to_s.gsub ("-", "") .hex_to_bin # Armazene o uuid binário em mysql # ... # Recupere o uuid binário do MySQL # ... # Reconstrua o Uuid original com traços new_uuid = binário_uuid.bin_to_hex.gsub (/(. {8}) (. {4}) (. {4}) (. {4}) (. {12})/, '\ 1- \ 2- \ 3 -\ 4- \ 5 ')

Seguindo estas etapas, você pode armazenar e recuperar com eficiência os UUIDs como números binários no MySQL, aprimorando o desempenho ao usar uuids indexados.
            
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3