SQLite C 接口

运行时限制类别

#define SQLITE_LIMIT_LENGTH                    0
#define SQLITE_LIMIT_SQL_LENGTH                1
#define SQLITE_LIMIT_COLUMN                    2
#define SQLITE_LIMIT_EXPR_DEPTH                3
#define SQLITE_LIMIT_COMPOUND_SELECT           4
#define SQLITE_LIMIT_VDBE_OP                   5
#define SQLITE_LIMIT_FUNCTION_ARG              6
#define SQLITE_LIMIT_ATTACHED                  7
#define SQLITE_LIMIT_LIKE_PATTERN_LENGTH       8
#define SQLITE_LIMIT_VARIABLE_NUMBER           9
#define SQLITE_LIMIT_TRIGGER_DEPTH            10
#define SQLITE_LIMIT_WORKER_THREADS           11

这些常量定义了可以在运行时使用sqlite3_limit()降低的各种性能限制。各种限制的含义概要如下所示。SQLite中的限制提供了更多信息

SQLITE_LIMIT_LENGTH
任何字符串或 BLOB 或表行的最大大小,以字节为单位。

SQLITE_LIMIT_SQL_LENGTH
SQL 语句的最大长度,以字节为单位。

SQLITE_LIMIT_COLUMN
表定义或SELECT结果集中的最大列数,或索引或 ORDER BY 或 GROUP BY 子句中的最大列数。

SQLITE_LIMIT_EXPR_DEPTH
任何表达式的分析树的最大深度。

SQLITE_LIMIT_COMPOUND_SELECT
复合 SELECT 语句中的最大术语数。

SQLITE_LIMIT_VDBE_OP
虚拟机程序中用于执行一条SQL 语句的最大指令数。如果sqlite3_prepare_v2()或等价物试图在单个准备好的语句中为超过这么多操作码分配空间,则返回 SQLITE_NOMEM 错误。

SQLITE_LIMIT_FUNCTION_ARG
函数参数的最大数量。

SQLITE_LIMIT_ATTACHED
附加数据库的最大数量

SQLITE_LIMIT_LIKE_PATTERN_LENGTH
LIKEGLOB运算符的模式参数的最大长度

SQLITE_LIMIT_VARIABLE_NUMBER
SQL 语句中任意参数的最大索引号。

SQLITE_LIMIT_TRIGGER_DEPTH
触发器的最大递归深度。

SQLITE_LIMIT_WORKER_THREADS
单个 准备好的语句可以启动的最大辅助工作线程数。

另请参阅 对象常量函数的列表。