Параметры состояния для подключений к базе данных
#define SQLITE_DBSTATUS_LOOKASIDE_USED 0 #define SQLITE_DBSTATUS_CACHE_USED 1 #define SQLITE_DBSTATUS_SCHEMA_USED 2 #define SQLITE_DBSTATUS_STMT_USED 3 #define SQLITE_DBSTATUS_LOOKASIDE_HIT 4 #define SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE 5 #define SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL 6 #define SQLITE_DBSTATUS_CACHE_HIT 7 #define SQLITE_DBSTATUS_CACHE_MISS 8 #define SQLITE_DBSTATUS_CACHE_WRITE 9 #define SQLITE_DBSTATUS_DEFERRED_FKS 10 #define SQLITE_DBSTATUS_CACHE_USED_SHARED 11 #define SQLITE_DBSTATUS_CACHE_SPILL 12 #define SQLITE_DBSTATUS_MAX 12 /* Largest defined DBSTATUS */
Эти константы — доступные целые "глаголы", которые можно передавать в качестве второго аргумента интерфейсу sqlite3_db_status().
Новые глаголы могут быть добавлены в будущих выпусках SQLite. Существующие глаголы могут быть прекращены. Приложения должны проверять код возврата из sqlite3_db_status(), чтобы убедиться, что вызов прошел успешно. Интерфейс sqlite3_db_status() вернёт код ошибки, отличное от нуля, если вызвался прекращённый или не поддерживаемый глагол.
- SQLITE_DBSTATUS_LOOKASIDE_USED
- Этот параметр возвращает количество слотов кэша lookaside, которые в данный момент заняты.
- SQLITE_DBSTATUS_LOOKASIDE_HIT
- Этот параметр возвращает количество попыток malloc, которые были удовлетворены с использованием памяти lookaside. Только значение максимума имеет смысл; текущее значение всегда равно нулю.
- SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE
- Этот параметр возвращает количество попыток malloc, которые могли быть удовлетворены с использованием памяти lookaside, но потерпели неудачу из-за того, что размер запрашиваемой памяти больше размера слота lookaside. Только значение максимума имеет смысл; текущее значение всегда равно нулю.
- SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL
- Этот параметр возвращает количество попыток malloc, которые могли быть удовлетворены с использованием памяти lookaside, но потерпели неудачу из-за того, что вся память lookaside уже используется. Только значение максимума имеет смысл; текущее значение всегда равно нулю.
- SQLITE_DBSTATUS_CACHE_USED
- Этот параметр возвращает приблизительное количество байтов оперативной памяти, используемой всеми кэшами страниц, связанными с подключением к базе данных. Максимальное значение, связанное с SQLITE_DBSTATUS_CACHE_USED, всегда равно 0.
- SQLITE_DBSTATUS_CACHE_USED_SHARED
- Этот параметр похож на DBSTATUS_CACHE_USED, за исключением того, что если кэш страниц используется двумя или более подключениями, количество байтов оперативной памяти, используемых этим кэшем страниц, делится равномерно между подключёнными подключениями. Другими словами, если ни один из кэшей страниц, связанных с подключением к базе данных, не используется совместно, этот запрос возвращает то же значение, что и DBSTATUS_CACHE_USED. Или, если один или несколько кэшей страниц используются совместно, значение, возвращаемое этим вызовом, будет меньше значения, возвращаемого DBSTATUS_CACHE_USED. Максимальное значение, связанное с SQLITE_DBSTATUS_CACHE_USED_SHARED, всегда равно 0.
- SQLITE_DBSTATUS_SCHEMA_USED
- Этот параметр возвращает приблизительное количество байтов оперативной памяти, используемых для хранения схемы всех баз данных, связанных с подключением — основной, временной и любой базы данных, подключённой с помощью ATTACH. Полный объём используемой памяти схем сообщается, даже если память схемы используется совместно с другими подключениями к базе данных из-за включённого режима совместного кэша. Максимальное значение, связанное с SQLITE_DBSTATUS_SCHEMA_USED, всегда равно 0.
- SQLITE_DBSTATUS_STMT_USED
- Этот параметр возвращает приблизительное количество байтов оперативной и кэшированной памяти, используемых всеми подготовленными операторами, связанными с подключением к базе данных. Максимальное значение, связанное с SQLITE_DBSTATUS_STMT_USED, всегда равно 0.
- SQLITE_DBSTATUS_CACHE_HIT
- Этот параметр возвращает количество попаданий в кэш страниц. Максимальное значение, связанное с SQLITE_DBSTATUS_CACHE_HIT, всегда равно 0.
- SQLITE_DBSTATUS_CACHE_MISS
- Этот параметр возвращает количество промахов кэша страниц. Максимальное значение, связанное с SQLITE_DBSTATUS_CACHE_MISS, всегда равно 0.
- SQLITE_DBSTATUS_CACHE_WRITE
- Этот параметр возвращает количество грязных записей кэша, которые были записаны на диск. В частности, количество страниц, записанных в файл журнала (wal) в базах данных в режиме журнала, или количество страниц, записанных в файл базы данных в режиме отката. Любые страницы, записанные как часть отката транзакции или операций восстановления базы данных, не включаются. Если при записи страницы на диск происходит ошибка ввода/вывода или другая ошибка, эффект на последующие запросы SQLITE_DBSTATUS_CACHE_WRITE не определён. Максимальное значение, связанное с SQLITE_DBSTATUS_CACHE_WRITE, всегда равно 0.
- SQLITE_DBSTATUS_CACHE_SPILL
- Этот параметр возвращает количество грязных записей кэша, которые были записаны на диск в середине транзакции из-за переполнения кэша страниц. Транзакции эффективнее, если они записываются на диск все сразу. Когда страницы записываются в середине транзакции, это добавляет дополнительную нагрузку. Этот параметр можно использовать для выявления неэффективностей, которые можно устранить, увеличив размер кэша.
- SQLITE_DBSTATUS_DEFERRED_FKS
- Этот параметр возвращает ноль для текущего значения только в том случае, если все ограничения внешнего ключа (отложенные или непосредственные) были решены. Максимальное значение всегда равно 0.
См. также списки объектов, констант и функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/c_dbstatus_options.html