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.
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