Имеет ли смысл - рекомендуется ли это - перерабатывать все мои модели mysql, меняя идентификаторы с varchar UTF8 на ascii char?

0

Я развиваюсь в RAILS и с тех пор, как я начал, использовал SQLITE (а не вопрос sqlite).

Теперь несколько месяцев спустя и после запуска задач COLLATE в базах данных MySQL теперь я удалил колпачок для своего разработчика и надел кеш-память базы данных...

Я понял, что - по какой-то причине я не уверен в этом, я не могу вспомнить - все таблицы - это charset 'utf8' collate 'utf8_unicode_ci', что в принципе нормально, так как больше руд менее всех таблиц имеют "многоязычные тексты",

Но я также перешел из идентификаторов целого числа auto auto increments по умолчанию в UUID в качестве первичного ключа. И это - как-то благодаря RAILS - varchar (36)

(после первого успеха с BIN-форматом для UUID я решил вернуться к буквальным UUID из-за проблем с инструментом)

Но эти идентификаторы (PK, FK) также являются UTF8 и сопоставляют "utf8_unicode_ci" и, как упоминалось, varchar (36)

Итак, теперь я думаю о переработке всей схемы базы данных ко всем идентификаторам (PF anf FK) для char(36) charset 'ascii' collate 'ascii'

Но я боюсь, что Rails делает с этим и что это означает для дальнейших миграций.

Итак - снова - я должен изменить "свою команду победителей" (она отлично работает) для лучшей производительности, для красоты?

Дело в том, что у меня нет миллионных записей, я не уверен, что для MySql это означает, что varchar(36) utf8 вместо ascii char(36) - уверен позже будет быстрее и занимает меньше места, но стоит ли оно того?

  • 1
    Изменение параметров сортировки кажется пустой тратой времени. Но опять же, я предпочитаю postgres, который на самом деле имеет собственный тип столбца UUID.
Теги:

1 ответ

1
Лучший ответ

Я уверен, что была хорошая причина использовать UUID vs Integer, но если вы не возвращаетесь к Integers, вам не стоит беспокоиться, не стоит того, что ваше приложение все равно может работать нормально с миллионами записей.

"Преждевременная оптимизация - это корень всех злых"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню