Показать сообщение отдельно
Старый 02.10.2018, 15:07   #8  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Возможно, причина, по которой в ядре не разрешено кэшировать записи View, в том, что для обычных таблиц у ядра есть механизмы отслеживания, когда кэши стали неактуальными,...
Да, вероятно в этом и была причина почему они так сделали.

Хотя, я думаю что все же случай вычисляемых полей - не такой частый. Плюс всегда ведь можно написать в insert / update / delete табличек код
X++:
super();
flush TableName;
в параметрических табличках везде так пишут и никто не умер. А для обычных полей ядро легко может зависимость отследить, ведь когда Query меняешь, то ядро предупреждает что есть зависимые вьюхи и обновляет их. Так и тут.

Кстати, кеширование джоинов в связке с прямыми запросами к базе уже приводило к подобным проблемам - была где-то тема про кеширование запроса по джоину InventSum - InventDim. Т.е. джина уже выпустили из бутылки... Нет причин не делать кеширование вьюх, если сделали кеширование джоинов.