С точки зрения кода, и представления, и отображения представлены объектами. Когда представление обрабатывается, оно загружает все его дочерние отображения в память, независимо от того, отображаете ли вы только один просмотр на странице, которую вы просматриваете. Хотя запросы к базе данных выполняются только для активного дисплея, свойства неактивных дисплеев все еще загружаются в память.
Это означает, что если у вас есть 50 дисплеев в одном просмотре, 50 дисплеев будут загружены в память, независимо от того, отображается ли только один из них. Таким образом, ответ на ваш вопрос - да, обычно чем больше отображений в вашем представлении, тем более неэффективным оно становится с точки зрения памяти.
Учитывая это, я лично считаю, что наличие от 2 до 10 дисплеев в представлении должно быть незначительным с точки зрения памяти. В конце концов, наличие небольшого количества дисплеев в представлении служит его практическим целям (в противном случае, зачем им вообще быть там?).
Что касается вашего второго вопроса (влияние дополнительных фильтров на производительность и т. Д.), То добавление определенных параметров в представление будет влиять на производительность. Если вы хотите точно узнать, сколько, вы можете перейти к admin / structure / views / settings (если вы находитесь в D7) и выбрать Показать информацию и статистику о представлении во время предварительного просмотра , Показать запрос SQL и Показать статистику производительности. , Вот скриншот экрана производительности:
Если вас больше интересует поведение запросов (сколько строк анализируется, какие ключи используются), вы можете скопировать запрос из интерфейса Views (когда вы выбрали «Показать запрос SQL») и проанализировать запрос. используя команду MySQL explain
. Есть много статей, подобных этой, для explain
использования в Google.