Я пишу функцию, которая вставляет пользователя в таблицу MYSQL. Первоначально я написал функцию, чтобы сначала проверить для существующих пользователей с тем же именем пользователя с оператором SELECT
. Однако моя таблица указывает, что столбец имени пользователя является уникальным, поэтому я понял, что после проверки, существует ли пользователь, база данных проверяется во второй раз.Тестирование дубликатов в MYSQL путем попытки вставки
Лучше просто вставить строку и посмотреть, есть ли ошибка или явно проверить с помощью инструкции SELECT
?
Если бы я ожидал высокой скорости отказа, разве я не хочу избегать дополнительной проверки, чтобы избавиться от накладных расходов? – bytesized
, стоимость выполнения выборочного контроля при сбое с высокой скоростью вставки будет намного проще в этом случае (чем обработка ошибок в движке db, которая может стоить дороже). Все можно измерить, вы можете настроить загрузку и запустить оба сценария, чтобы увидеть поведение вашего db-движка. Как сказано, код для общего сценария, если вы ищете прирост производительности – MrSimpleMind
Интересно. Я не понимал, что обработка ошибок в движке db будет иметь значительные накладные расходы (я думаю, это имеет смысл, хотя). В конечном счете, однако, я предполагаю, что все проверки будут выполнены на стороне клиента (в этом случае через AJAX). Из-за этого я ожидаю низкий уровень сбоев, поэтому я думаю, что сначала буду ВСТАВИТЬ, задавать вопросы позже. – bytesized