Доброго дня, коллеги!
При изучении операторов плана запроса в рамках курса Ускорение и оптимизация систем на 1С:Предприятие 8.3 + подготовка на 1С:Эксперт у слушателя возник вопрос по поводу кэширования данных страницы для СУБД MS-SQL. Вопрос уровня 1С-Эксперт. Попробуем разобраться!
Вопрос
Ответ
Добрый день! После завершения транзакции ссылка на эту страницу будет поставлена в очередь записи. Из буферного кэша удаляться по факту записи она не будет.
Комментарий слушателя
Ответ
Не так. Страница будет записана на диск, после чего данные в памяти и на диске будут совпадать. Нет смысла удалять из памяти те данные, которые только что были использованы – в этом смысл буферного кеша. На самом деле все ещё немного сложнее, большинство серверов реляционных БД (в т.ч. и MS-SQL и Postgres) работают в режиме WAL (Write Ahead Log) – сначала пишется лог, потом страница с данными сбрасывается на диск (не удаляясь из памяти, пока в ней есть необходимость и пока настройки использования памяти позволяют). По логам можно откатиться на какой-то момент назад. Частично эти вопросы рассматриваются в этом курсе.
Ускорение и оптимизация систем на 1С:Предприятие 8.3 + подготовка на 1С:Эксперт.