Раньше мне не нравился этот подход «все в одном», но после того, как я был вынужден использовать его в сложном проекте несколько лет назад, я стал фанатом. Если вы правильно проиндексировали таблицу, производительность должна быть в порядке. Вам понадобится индекс для столбца типа, чтобы ускорить сортировку, например, по операциям типа.
Теперь я обычно рекомендую использовать одну таблицу для хранения похожих объектов. Тогда единственный вопрос заключается в том, хотите ли вы использовать подтаблицы для хранения данных, относящихся к определенному типу объектов? Ответ на этот вопрос действительно зависит от того, насколько различна структура каждого типа объекта и сколько типов объектов у вас будет. Если у вас есть 50 типов объектов с сильно различающимися структурами, вы можете рассмотреть вопрос о сохранении только согласованных частей объекта в основной таблице и создании вложенной таблицы для каждого типа объекта.
В вашем примере, однако, я думаю, что вы будете в порядке, просто сложив все это в одну таблицу.
Подробнее см. Здесь: http://www.agiledata.org/essays/mappingObjects.html