Хранение UUIDS как цифры в MySQL
хранение UUIDS в виде строк в MySQL может привести к проблемам производительности, особенно при включении индексации. Альтернативный подход, предложенный экспертом, состоит в том, чтобы хранить UUIDS в качестве цифр для повышения производительности. Давайте рассмотрим, как это можно сделать в рубине. Например, uuid, подобный "110E8400-E29B-11D4-A716-4466554440000" становится "110E8400E29B11D4A716446655440000". Бинарные типы данных в mysql Используйте двоичное представление, которое более эффективно для обработки, чем строки. Следующий запрос:
вставьте в table_name (field_binary) values (uncex ("110e8400e29b11d4a716446655440000")) , чтобы извлечь uuid, используйте следующий запрос:
ruby code Integration
В Ruby вы можете использовать драгоценный камень uuidtools для генерации Uuids и преобразовать их в бинар. GEM предоставляет такие методы, как Uuid.new и uuid.hex_to_bin. Например:
требуется 'uuidtools' # Генерировать uuid как строка uuid = uuid.new # Удалить тире и преобразовать в двоичный binary_uuid = uuid.to_s.gsub ("-", "") .hex_to_bin # Хранить бинарную uuid в MySQL # ... # Получить двоичный uuid из mysql # ... # Реконструируйте оригинал UUID с помощью тире new_uuid = binary_uuid.bin_to_hex.gsub (/(. {8}) (. {4}) (. {4}) (. {4}) (. {12})/, '\ 1- \ 2- \ 3 -\ 4- \ 5 '). Следуя этим шагам, вы можете эффективно сохранить и получить UUID в виде двоичных чисел в MySQL, повышая производительность при использовании индексированных UUIDS.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3