Spec-Zone.ru › SQLite

Статусы сканирования подготовленных запросов

#define SQLITE_SCANSTAT_NLOOP    0
#define SQLITE_SCANSTAT_NVISIT   1
#define SQLITE_SCANSTAT_EST      2
#define SQLITE_SCANSTAT_NAME     3
#define SQLITE_SCANSTAT_EXPLAIN  4
#define SQLITE_SCANSTAT_SELECTID 5
#define SQLITE_SCANSTAT_PARENTID 6
#define SQLITE_SCANSTAT_NCYCLE   7

Следующие константы могут быть использованы в качестве параметра T в интерфейсе sqlite3_stmt_scanstatus(S,X,T,V). Каждая константа определяет различную метрику, возвращаемую функцией sqlite3_stmt_scanstatus().

Если возвращаемое значение в V является строкой, то выделение памяти для этой строки управляется подготовленным запросом S и будет автоматически освобождено при завершении S.

Не все значения доступны для всех элементов запроса. Если значение недоступно, выходная переменная устанавливается в -1, если значение числовое, или в NULL, если это строка (SQLITE_SCANSTAT_NAME).

SQLITE_SCANSTAT_NLOOP
Переменная sqlite3_int64, на которую указывает параметр V, будет установлена в общее количество раз, которое выполнялся X-й цикл.

SQLITE_SCANSTAT_NVISIT
Переменная sqlite3_int64, на которую указывает параметр V, будет установлена в общее количество строк, просмотренных всеми итерациями X-го цикла.

SQLITE_SCANSTAT_EST
Переменная типа "double", на которую указывает параметр V, будет установлена в оценку планировщиком запроса среднего количества строк, выводимых каждой итерацией X-го цикла. Если оценки планировщика запроса точны, то это значение будет приблизительно равно частному NVISIT/NLOOP, а произведение этого значения для всех предыдущих циклов с тем же SELECTID будет значением NLOOP для текущего цикла.

SQLITE_SCANSTAT_NAME
Переменная типа "const char *", на которую указывает параметр V, будет установлена в нуль-терминированную строку UTF-8, содержащую имя индекса или таблицы, используемой для X-го цикла.

SQLITE_SCANSTAT_EXPLAIN
Переменная типа "const char *", на которую указывает параметр V, будет установлена в нуль-терминированную строку UTF-8, содержащую описание EXPLAIN QUERY PLAN для X-го цикла.

SQLITE_SCANSTAT_SELECTID
Переменная типа "int", на которую указывает параметр V, будет установлена в идентификатор X-го элемента плана запроса. Значение идентификатора уникально для данного запроса. Идентификатор запроса совпадает со значением в первой колонке запроса EXPLAIN QUERY PLAN.

SQLITE_SCANSTAT_PARENTID
Переменная типа "int", на которую указывает параметр V, будет установлена в идентификатор родительского элемента текущего элемента плана запроса, если применимо, или в ноль, если у элемента плана запроса нет родителя. Это значение совпадает со значением, возвращаемым во второй колонке запроса EXPLAIN QUERY PLAN.

SQLITE_SCANSTAT_NCYCLE
Значение вывода sqlite3_int64 устанавливается в количество циклов, согласно счётчику временной метки процессора, прошедших во время обработки элемента запроса. Это значение недоступно для всех элементов запроса — если оно недоступно, выходная переменная устанавливается в -1.

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

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

Spec-Zone.ru

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