Создание ленты — создайте специальную таблицу или используйте представление?

#mysql #laravel

Вопрос:

Мне нужно создать канал для начального набора из 3 базовых таблиц, но позже может появиться еще больше.

Насколько я могу судить, у меня есть два варианта:

  1. Создайте представление MySQL для объединения 3 таблиц (или выполните объединение во время выполнения), получите доступ к нему с помощью собственной модели.

Или…

  1. Когда я сохраняю строку в базовую таблицу, также сохраняйте строку в feed таблицу, которая имеет полиморфное отношение к одной из 3 базовых таблиц.

Что было бы лучшим с точки зрения производительности?

Комментарии:

1. Если у вас есть 3 таблицы и более, и вы объединяетесь, я не вижу, что вы получаете, имея представление над выбором (с объединениями), добавьте больше таблиц, и вам придется отредактировать представление (или выбрать). Я вообще не понимаю вашего второго варианта, но вам все равно придется меняться, когда появится больше таблиц..Кстати, почему 3 таблицы, когда все они имеют одинаковый формат??

2. Пожалуйста, укажите параметры для обоих подходов, а также ВЫБЕРИТЕ те, которые вас беспокоят.