Есть плюсы и минусы.
Лично я использую триггеры.
Это приводит к интересному крайнему случаю, когда у вас есть основная таблица и множество связанных таблиц, чей контрольный журнал вы хотите поделиться. Скажем, заказы + строки заказа + [множество других связанных таблиц], которые относятся к заказам. В этом случае интересная часть данных для аудита - это заказ, поэтому заказы должны содержать подробности, связанные с аудитом. Если у вас есть триггер, который срабатывает при каждой вставке / обновлении / удалении строк заказа + [множество других связанных таблиц], то производительность в конечном итоге сработает.