Я бы избежал этого любой ценой.Сначала, когда вы вкладываете представления, они не могут быть проиндексированы.Далее, так как они должны полностью материализовать базовые представления, чтобы перейти к следующему слою.Таким образом, вы можете получить несколько миллионов записей, чтобы получить конечный результат из 5 записей.Мы почти потеряли многомиллионный клиент, потому что производительность была настолько плачевной, когда наши разработчики делали это с одной базой данных (а не с базой данных, которую я использовал для разработки).
Наконец, я обнаружил, что эти виды слоев намного сложнее поддерживать, когда вам нужно внести изменения.Не интересно отслеживать 12 слоев, чтобы найти тот, который вам нужно исправить.Мы также столкнулись с проблемой, потому что разработчики обнаружили, что проще просто добавить другой слой, чем исправить базовые слои, а затем пытались получить доступ к слишком многим таблицам в одном запросе, и слишком много этих таблиц были одной и той же многомиллионной таблицей записей, к которой обращались7 или 8 раз в разных слоях видов.
Ни при каких обстоятельствах я бы не позволил использовать более одного слоя для просмотра в базе данных, которой я управляю, и я бы разозлился, если бы вы сделали это.