Влияние изменений семантической модели на кэш запросов

Изменение семантических моделей с помощью средства семантического моделирования моделей или инструмента администрирования моделей может иметь повлиять на записи, которые хранятся в кэше. Например, при изменении определения физического объекта или динамической переменной семантической модели записи кэша, ссылающиеся на этот объект или переменную, могут оказаться недействительными. Такие изменения могут привести к необходимости очистки кэша. Есть два сценария: изменение существующей семантической модели и создание (или загрузка) новой семантической модели.

Изменение семантической модели

При изменении семантической модели или загрузке другого файла .rpd любые изменения, влияющие на записи кэша, автоматически приводят к очистке всех записей кэша, ссылающихся на измененные объекты. Очистка выполняется при загрузке таких изменений. Например, если из семантической модели удалить физическую таблицу, все записи кэша, которые ссылаются на эту таблицу, будут удалены при регистрации. Любые изменения семантической модели, внесенные на логическом уровне, приводят к удалению всех записей кэша для этой семантической модели.

Изменения глобальных переменных семантических моделей

Значения глобальных переменных семантической модели обновляются с учетом данных, возвращаемых в ответ на запросы. При определении глобальной переменной семантической модели создается блок инициализации или используется существующий блок с SQL-запросом. Также можно настроить расписание для выполнения запроса и периодического обновления значения такой переменной.

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