Какая операция стоит дороже - выдача запроса SELECT
до INSERT
или обработка исключения во время операции INSERT
?Должен ли я проверить, существует ли ключ перед вставкой или обработкой исключения при вставке?
Например, предположим, что я хочу, чтобы сохраняться некоторые параметры запроса пользователя сказать param1
(первичный ключ & уникальный индекс), param2
, param3
к таблице базы данных с требованием, чтобы отобразить уведомление, если дубликат ключа уже существует. Кроме того, предположим, что это сценарий реального времени, когда весь процесс не ожидается более 500 мс.
Почему часто рекомендуется выполнять инструкцию insert для трех параметров, а затем обрабатывать исключение вставки для дублирования? Я знаю, что исключение для броска имеет стоимость - превышает ли стоимость запроса к базе данных запрос на выброс исключения?
Вы могли бы сделать этот вопрос намного понятнее с примерами кода A и B. Даже после пересмотра я не могу представить в коде то, что вы пытаетесь описать. Что означает «сохранение параметров базы данных»? Вставить их в таблицу? –
Почему бы вам не обойтись? Предотвращение исключений, когда это возможно, и обработка исключений, когда они возможны, являются хорошей практикой. – overslacked
Как часто вы пытаетесь вставить дубликат? Правильно ли индексируются таблицы? – shawnt00