Предположим, у меня есть таблица с именем bookLibrary, в которой уникальный идентификатор книги связан с несколькими библиотеками (по их уникальному идентификатору). Если вы получаете обновление для книги в виде массива библиотек, в которых находится книга, то какой из этих методов наиболее эффективен для обновления таблицы bookLibrary.
В настоящее время я просто удаляю все строки, которые относятся к книге, и добавляю новые отношения (строки) для каждой библиотеки в массиве, который я получаю. Это кажется немного радикальным, но оно выполняет свою работу и гарантирует, что в таблице нет повторяющихся строк.
Альтернативным подходом было бы выбрать все строки для книги и взглянуть на каждую строку, то есть (1) строка все еще действительна (находится ли книга в библиотеке x), (2) какие строки необходимо вставить (новые книги были добавлены для книги x) и (3) какие строки остаются неизменными.
Это простая задача с простым решением, но такая проблема заставляет меня часто задумываться об эффективности, и я также хочу убедиться, что надоедливых ошибок (таких как дублирующиеся строки) избегать в максимально возможной степени.