Вопрос по запросам к БД views

Главные вкладки

Аватар пользователя pavell_lozin pavell_lozin 5 сентября 2018 в 15:21

Здравствуйте. Если в представлении, в котором вывод сделан через поля, поставить галочку "Исключить из вывода", то это не повлияет на производительности?

Есть несколько views, в которых я временно исключил некоторые поля, которые позже может быть включу.
Или лучше удалять не используемые поля?

Комментарии

Аватар пользователя fairrandir fairrandir 5 сентября 2018 в 15:49

merlin wrote:

Лучше удалить

Как влияет на производительность - лучше проверить. Это раз.
Поля, которые не используются действительно лучше удалять, дабы не было путаницы. Это два.
Зачатую во вьюхе лучше выводить не поля, а отрендеренную ноду в определенном вьюмоде, ибо если надо будет добавить вывод во вьюху это надо будет сделать только во вьюмоде, а не во всех вьюхах.

Аватар пользователя merlin merlin 5 сентября 2018 в 16:07

Ну этож очевидно, что поля - это дополнительное обращение к дополнительным таблицам. Включите и посмотрите запрос SQL

Аватар пользователя fairrandir fairrandir 5 сентября 2018 в 17:39
1

merlin wrote:

Ну этож очевидно, что поля - это дополнительное обращение к дополнительным таблицам. Включите и посмотрите запрос SQL

Очевидно - да. Влияет ли на производительность - вопрос очень спорный. Допустим, время построения страницы занимает 1000мс. Из них 1.1мс занимает запрос данной конкретной вьюхи с лишними полями. А если убрать лишние поля время построения страницы будет 999,9мс, что конечно огромный прирост. Так что:

fairrandir wrote:

Как влияет на производительность - лучше проверить.

Аватар пользователя fairrandir fairrandir 5 сентября 2018 в 19:25

Во сколько раз быстрее? С кэшем или без? С entitycache или без? На 7-ке или 8-ке? Быстрее только запрос или весь рендеринг вьюхи?

Аватар пользователя Olegars Olegars 5 сентября 2018 в 22:47

На 7, но на восьмерке думаю так же. Мерял девелом. Даже если логически рассуждать - поле -> запрос к базе. Сколько там полей? В любом случае не все что есть в ноде.
Показ нод это node_load со всеми потрохами, то есть целая куча запросов и сопутствующих процедур.