Spec-Zone.ru › SQLite

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

#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_TEMPBUF_SPILL       13
#define SQLITE_DBSTATUS_MAX                 13   /* 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
Этот параметр возвращает приблизительное количество байтов динамической памяти, используемой всеми кэшами pager, связанными с подключением к базе данных. Максимальное значение для SQLITE_DBSTATUS_CACHE_USED всегда равно 0.

SQLITE_DBSTATUS_CACHE_USED_SHARED
Этот параметр аналогичен DBSTATUS_CACHE_USED, однако, если кэш pager используется двумя или более подключениями, объём динамической памяти, используемой этим кэшем pager, равномерно распределяется между подключениями. Иными словами, если ни один из кэшей pager, связанных с подключением к базе данных, не используется совместно, этот запрос возвращает то же значение, что и DBSTATUS_CACHE_USED. Если же один или несколько кэшей pager используются совместно, значение, возвращаемое этим вызовом, будет меньше значения DBSTATUS_CACHE_USED. Максимальное значение для SQLITE_DBSTATUS_CACHE_USED_SHARED всегда равно 0.

SQLITE_DBSTATUS_SCHEMA_USED
Этот параметр возвращает приблизительное количество байтов динамической памяти, используемой для хранения схем всех баз данных, связанных с подключением: main, temp и любых баз данных, добавленных с помощью ATTACH. Учитывается весь объём памяти, используемый схемами, даже если память схем совместно используется с другими подключениями к базам данных из-за включённого режима общего кэша. Максимальное значение для SQLITE_DBSTATUS_SCHEMA_USED всегда равно 0.

SQLITE_DBSTATUS_STMT_USED
Этот параметр возвращает приблизительное количество байтов динамической памяти и памяти lookaside, используемой всеми подготовленными выражениями, связанными с подключением к базе данных. Максимальное значение для SQLITE_DBSTATUS_STMT_USED всегда равно 0.

SQLITE_DBSTATUS_CACHE_HIT
Этот параметр возвращает количество попаданий в кэш pager. Максимальное значение для SQLITE_DBSTATUS_CACHE_HIT всегда равно 0.

SQLITE_DBSTATUS_CACHE_MISS
Этот параметр возвращает количество промахов кэша pager. Максимальное значение для SQLITE_DBSTATUS_CACHE_MISS всегда равно 0.

SQLITE_DBSTATUS_CACHE_WRITE
Этот параметр возвращает количество изменённых записей кэша, записанных на диск. В частности, это количество страниц, записанных в файл wal в базах данных в режиме wal, или количество страниц, записанных в файл базы данных в базах данных в режиме отката. Страницы, записанные в рамках отката транзакции или операций восстановления базы данных, не учитываются. Если при записи страницы на диск возникает ошибка ввода-вывода или другая ошибка, влияние этой ошибки на последующие запросы SQLITE_DBSTATUS_CACHE_WRITE не определено. Максимальное значение для SQLITE_DBSTATUS_CACHE_WRITE всегда равно 0.

Значения, измеряемые этим параметром (SQLITE_DBSTATUS_CACHE_WRITE), частично пересекаются со значениями SQLITE_DBSTATUS_TEMPBUF_SPILL. Сброс одного из них уменьшит другое значение.

SQLITE_DBSTATUS_CACHE_SPILL
Этот параметр возвращает количество изменённых записей кэша, записанных на диск в ходе транзакции из-за переполнения кэша страниц. Транзакции выполняются эффективнее, если записывать их на диск целиком. Запись страниц на диск в середине транзакции создаёт дополнительные накладные расходы. Этот параметр можно использовать для выявления неэффективности, которую можно устранить, увеличив размер кэша.

SQLITE_DBSTATUS_DEFERRED_FKS
Текущее значение этого параметра равно нулю тогда и только тогда, когда выполнены все ограничения внешних ключей (отложенные или немедленные). Максимальное значение всегда равно 0.

[SQLITE_DBSTATUS_TEMPBUF_SPILL

SQLITE_DBSTATUS_TEMPBUF_SPILL
Этот параметр возвращает количество байтов, записанных во временные файлы на диске, которые можно было бы хранить в памяти при наличии достаточного объёма памяти. Это значение включает записи в промежуточные таблицы, используемые в сложных запросах, внешнюю сортировку с выгрузкой на диск и записи во временные таблицы TEMP. Максимальное значение всегда равно 0.

Значения, измеряемые этим параметром (SQLITE_DBSTATUS_TEMPBUF_SPILL), частично пересекаются со значениями SQLITE_DBSTATUS_CACHE_WRITE. Сброс одного из них уменьшит другое значение.

См. также списки объектов, констант и функций.

SQLite is in the Public Domain.
https://sqlite.org/c3ref/c_dbstatus_options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API