Вставьте UUID против UUID через триггер - Производительность

0

Я понимаю, что есть много потоков и информации о том, следует ли использовать UUID для ПК или где угодно. Это НЕ мой вопрос.

Предположим, у нас есть таблица с столбцом varchar (36) для хранения UUID. Мой вопрос прост, что лучше, если предположить, что приложение не заботится о том, как это сделать:

1) Поместите новый UUID в каждую строку с помощью триггера на столе

ИЛИ ЖЕ

2) Вставьте новый UUID в каждую строку непосредственно через запрос вставки, используя функцию UUID(), такую как "вставить в значения mytable (UUID())" или "set @var = UUID"(), вставить в значения mytable (@var );

MySQL 5.7.x, если это имеет значение.

  • 0
    Вы автоматически увеличиваете для первичных / внешних ключей для реляционных. Но если вы все еще хотите использовать UUID, вы можете попробовать второй подход. Примечание: производительность будет ухудшаться, когда DB станет больше.
Теги:
uuid
triggers

1 ответ

0

Просто пойдите со вторым вариантом. Нет смысла делать работу, которую вы можете прямо и просто сделать в запросе на вставку с помощью триггера. Вы все равно будете вызывать функцию UUID в триггере. Первое немного сложнее второго, это не поможет повысить производительность.

Первый метод использует принцип DRY (Do not Repeat Yourself), который является хорошей практикой программирования. Он также гарантирует, что все идентификаторы являются действительно UUID.

Ещё вопросы

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