Как удалить из базы данных?

Необходимо также отметить, что встроенное ключевое слово является только запросом. Компилятор может принять решение не встроить его, аналогично компилятор может принять решение сделать функцию встроенной, который Вы не определили как встроенный, если это думает, что компромисс скорости/размера стоит того.

Это решение обычно принимается на основе многих вещей, таких как установка между оптимизируют для скорости (избегает вызова функции), и оптимизируйте для размера (встраивание может вызвать чрезмерное увеличение размера кода, так не является большим для больших неоднократно используемых функций).

с VC ++ компилятор Вы можете сверхъязь это решение при помощи __forceinline

ТАК в целом: Используйте встроенный, если Вы действительно хотите иметь функцию в заголовке, но в другом месте существует мало точки потому что, если Ваша попытка получить что-нибудь от нее, хороший компилятор будет заставлять ее встроить для Вас так или иначе.

6
задан Brian Tompsett - 汤莱恩 4 July 2015 в 13:18
поделиться

7 ответов

Заменить таблицу представлением, которое скрывает неактивные элементы.

Или напишите триггер на DELETE, который создает резервную копию строки в архивной таблице.

13
ответ дан 8 December 2019 в 12:20
поделиться

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

2
ответ дан 8 December 2019 в 12:20
поделиться

Вы можете использовать столбец isDeleted и определить представление, которое выбирает все столбцы, кроме isDeleted, с условием isDeleted = false. Тогда пусть все ваши stps работают только с видом.

2
ответ дан 8 December 2019 в 12:20
поделиться

Вы можете вести таблицу истории, где вы делаете резервную копию записи и отметки времени

1
ответ дан 8 December 2019 в 12:20
поделиться

Одна из основных причин для не удаления данных заключается в том, что они могут потребоваться для связи - например, пользователь может решить удалить старого клиента из базы данных , но вам все равно нужна запись о клиенте, потому что на нее ссылаются старые счета-фактуры (которые могут иметь гораздо более длительный срок службы).

Исходя из этого, лучшим решением часто является тип столбца IsDeleted в сочетании с представлением (Quassnoi упомянул о разделении, которое может помочь с проблемами производительности, которые могут возникнуть из-за большого количества невидимых данных).

1
ответ дан 8 December 2019 в 12:20
поделиться

Что ж, если вы использовали SqlServer, вы можете использовать триггеры, которые позволят вам переместить запись в удаленную таблицу.

0
ответ дан 8 December 2019 в 12:20
поделиться

Вы можете разделить свои таблицы по столбцу DELETED и определить представления, которые будут включать условие:

… AND deleted = 0

Это сделает запросы по активным данным такими же простыми и эффективный.

0
ответ дан 8 December 2019 в 12:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: