Дата публикации: 20.10.2020

IBProvider v5.21. Реализован кэш парсера SQL запросов

В этом выпуске IBProvider v5 реализовано кэширование результатов собственного парсера SQL-запросов.

Парсер SQL-запросов нужен для определения типа запроса, списка его параметров и разделения скрипта на отдельные выражения.

Кэш SQL-запросов (SQL Cache) дополняет кэш запросов сервера (Stmt Cache), реализованного еще в ранних версиях IBProvider v3.

SQL Cache, так же как и Stmt Cache, использует отдельные потоки для обслуживания собственного состояния.

Кеш SQL запросов отрабатывает как для пользовательских запросов, так и для служебных запросов обновляемых множеств.

Конфигурации SQL Cache

По умолчанию кэш SQL запросов включен и каждое подключение использует собственный экземпляр кэша:

Default configuration of SQL Cache

С помощью нового свойства инициализации «sql_cache__scope» можно сконфигурировать использование общего, в рамках базы данных, SQL Cache. Для этого нужно указать в строке подключения «sql_cache__scope=db».

Configuration of SQL Cache per Database

Используя новое, дополнительное свойство «sql_cache__instance_id» можно создавать раздельные кэши для групп подключений к одной и той же базе данных:

Configuration of SQL Cache per Database

Для отключения кэша SQL запросов можно указать в строке подключения «sql_cache__scope=empty».

Дополнительные настройки SQL Cache

  • Свойство инициализации «sql_cache__size» определяет размер кэша.
  • Свойство инициализации «sql_cache__time» определяет время жизни элемента кэша.
  • Свойство инициализации «sql_cache__max_len» ограничивает длину запросов, которые будут кэшированы.

Нулевое значения у любого из перечисленных выше свойств отключает кэш SQL запросов.


Дата публикации: 20.10.2020. Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт https://www.ibprovider.com/rus обязательна.