С точки зрения производительности условий во вьюхе должно быть побольше или поменьше?

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

Аватар пользователя VasyOK VasyOK 9 февраля 2019 в 16:14

Мега вопрос.
Допустим создаю вьюху, которая выводит материалы с определенным заполненным полем. Нужно ли ставить еще одно условие на тип материала, если я знаю, что заполненное поле встречается только в одном типе материала?

Или включай кеширование в views и не парься?

Комментарии

Аватар пользователя adano adano 9 февраля 2019 в 17:34

Сейчас, на современном железе, вообще пофиг на подобное. Я видел инет-магазины с 2к запросами на страницу, которые даже не "чихают" и помню давний тезис про "дико-прожорливый вьюс в Друпале" (SSD тогда были в прототипах на обложках журналов).

А так - admin/structure/views/settings -> Показывать SQL-запрос... и тести производительность сколько влезет.

Аватар пользователя sas@drupal.org sas@drupal.org 9 февраля 2019 в 17:41

Проверить производительность и нагрузку при использовании иногда бывает, наоборот и это зависит от индексов в таблицах.

Аватар пользователя gun_dose gun_dose 9 февраля 2019 в 18:33

Простые условия вроде этого, на производительность практически не влияют. Вот когда условия строятся через связи ( relationships), тогда производительность может пострадать.

И ещё интересный момент - пейджер. В восьмёрке в последних версиях во всех вьюсах ядра используется мини-пейджер, потому что в нём нет ссылки на последнюю страницу, соответственно, нет необходимости делать count-запрос, который при наличии большого количества записей и сложных фильтрах может сожрать больше ресурсов, чем основной запрос.

Аватар пользователя sas@drupal.org sas@drupal.org 9 февраля 2019 в 19:20

Существует зависимость так же от кол-ва записей в выборке, благо во вьюсах есть анализатор запроса и времени выполнения.