BrianV правильный. Трудно дать правило, поскольку оно сильно варьируется в зависимости от того, как вы будете использовать таблицу, как она индексируется, фактические столбцы в таблице и т. Д.
Что касается распространенных практик ... для очень больших таблиц, которые вы можете рассмотреть секционирования. Это может быть особенно полезно, если вы обнаружите, что для вашего журнала вы обычно заботитесь об изменениях за последние 1 месяц (или 1 день, 1 неделя, 1 год, независимо от того, что). Затем вы можете архивировать старые части данных, чтобы они были доступны, если они были абсолютно необходимы, но не будут мешать, так как вам практически не понадобится.
Еще одна вещь, которую следует учитывать, состоит в том, чтобы иметь отдельную таблицу журналов изменений для каждой из ваших фактических таблиц, если вы еще не планируете это делать. Использование одной таблицы журналов делает ОЧЕНЬ сложно работать. Обычно вы должны регистрировать информацию в текстовом поле свободной формы, с которым сложно запросить и обработать. Кроме того, трудно просмотреть данные, если у вас есть строка для каждого столбца, которая была изменена, потому что вам нужно сделать много соединений, чтобы посмотреть на изменения, которые происходят одновременно одновременно.