IBProvider v5.21. Реализован кэш парсера SQL запросов
В этом выпуске IBProvider v5 реализовано кэширование результатов собственного парсера SQL-запросов.
Парсер SQL-запросов нужен для определения типа запроса, списка его параметров и разделения скрипта на отдельные выражения.
Кэш SQL-запросов (SQL Cache) дополняет кэш запросов сервера (Stmt Cache), реализованного еще в ранних версиях IBProvider v3.
SQL Cache, так же как и Stmt Cache, использует отдельные потоки для обслуживания собственного состояния.
Кеш SQL запросов отрабатывает как для пользовательских запросов, так и для служебных запросов обновляемых множеств.
Конфигурации SQL Cache
По умолчанию кэш SQL запросов включен и каждое подключение использует собственный экземпляр кэша:
С помощью нового свойства инициализации «sql_cache__scope» можно сконфигурировать использование общего, в рамках базы данных, SQL Cache. Для этого нужно указать в строке подключения «sql_cache__scope=db».
Используя новое, дополнительное свойство «sql_cache__instance_id» можно создавать раздельные кэши для групп подключений к одной и той же базе данных:
Для отключения кэша SQL запросов можно указать в строке подключения «sql_cache__scope=empty».
Дополнительные настройки SQL Cache
- Свойство инициализации «sql_cache__size» определяет размер кэша.
- Свойство инициализации «sql_cache__time» определяет время жизни элемента кэша.
- Свойство инициализации «sql_cache__max_len» ограничивает длину запросов, которые будут кэшированы.
Нулевое значения у любого из перечисленных выше свойств отключает кэш SQL запросов.