Параметры состояния подготовленных запросов
#define SQLITE_STMTSTATUS_FULLSCAN_STEP 1 #define SQLITE_STMTSTATUS_SORT 2 #define SQLITE_STMTSTATUS_AUTOINDEX 3 #define SQLITE_STMTSTATUS_VM_STEP 4 #define SQLITE_STMTSTATUS_REPREPARE 5 #define SQLITE_STMTSTATUS_RUN 6 #define SQLITE_STMTSTATUS_FILTER_MISS 7 #define SQLITE_STMTSTATUS_FILTER_HIT 8 #define SQLITE_STMTSTATUS_MEMUSED 99
Эти препроцессорные макросы определяют целочисленные коды, которые называют значения счетчиков, связанные с интерфейсом sqlite3_stmt_status(). Значения различных счетчиков следующие:
- SQLITE_STMTSTATUS_FULLSCAN_STEP
- Это количество раз, когда SQLite перемещался вперед в таблице как часть полного сканирования таблицы. Большие значения этого счетчика могут указывать на возможности повышения производительности благодаря правильному использованию индексов.
- SQLITE_STMTSTATUS_SORT
- Это количество операций сортировки, которые произошли. ненулевое значение в этом счетчике может указывать на возможность повышения производительности благодаря правильному использованию индексов.
- SQLITE_STMTSTATUS_AUTOINDEX
- Это количество строк, вставленных в временные индексы, которые были созданы автоматически, чтобы помочь быстрее выполнить соединения. ненулевое значение в этом счетчике может указывать на возможность повышения производительности путем добавления постоянных индексов, которым не нужно переинициализироваться каждый раз, когда запрос выполняется.
- SQLITE_STMTSTATUS_VM_STEP
- Это количество операций виртуальной машины, выполненных подготовленным запросом, если это число меньше или равно 2147483647. Количество операций виртуальной машины можно использовать в качестве показателя общей работы, проделанной подготовленным запросом. Если количество операций виртуальной машины превышает 2147483647, значение, возвращаемое этим кодом состояния запроса, является неопределенным.
- SQLITE_STMTSTATUS_REPREPARE
- Это количество раз, когда подготовленный запрос был автоматически сгенерирован заново из-за изменений схемы или изменений связанных параметров, которые могут повлиять на план запроса.
- SQLITE_STMTSTATUS_RUN
- Это количество раз, когда подготовленный запрос был выполнен. Один "запуск" для целей этого счетчика — это один или несколько вызовов sqlite3_step(), за которым следует вызов sqlite3_reset(). Счетчик увеличивается при первом вызове sqlite3_step() каждого цикла.
- SQLITE_STMTSTATUS_FILTER_HIT
SQLITE_STMTSTATUS_FILTER_MISS - SQLITE_STMTSTATUS_FILTER_HIT — это количество раз, когда шаг соединения был пропущен, потому что фильтр Bloom возвратил не найден. Соответствующее значение SQLITE_STMTSTATUS_FILTER_MISS — это количество раз, когда фильтр Bloom возвратил найден, и поэтому шаг соединения должен был быть обработан как обычно.
- SQLITE_STMTSTATUS_MEMUSED
- Это приблизительное количество байтов оперативной памяти, используемой для хранения подготовленного запроса. Это значение фактически не является счетчиком, поэтому параметр resetFlg в sqlite3_stmt_status() игнорируется, когда opcode равен SQLITE_STMTSTATUS_MEMUSED.
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/c_stmtstatus_counter.html