Что быстрее, если я хочу сохранить уникальное поле в таблице
Выполнение запроса выбора и вставка запроса
ИЛИ непосредственно выполняет запрос вставки, но вместо этого в таблице есть уникальное поле
Если вы хотите сохранить уникальный столбец в базе данных, используйте для этого механизмы базы данных. Создайте уникальный индекс или уникальное ограничение для столбца. Работа с база данных, не против этого.
Кроме того, есть серьезная проблема с вашим первым подходом. Вы вводите условия гонки. Два процесса могут пытаться вставить одну и ту же запись одновременно. Они оба посмотрят на значения в таблице, и оба увидят, что вставка в порядке. И тогда оба вставят одно и то же значение, создавая дубликат.
Конечно, для этого есть обходные пути, обычно включающие транзакционную логику или блокировку таблиц. Оба из них вводят дополнительные издержки, что снижает производительность.
Просто создайте уникальный столбец и не беспокойтесь об уникальности — база данных беспокоит вас.
Других решений пока нет …