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
- LIKE或 GLOB运算符的模式参数的最大长度。
- SQLITE_LIMIT_VARIABLE_NUMBER
- SQL 语句中任意参数的最大索引号。
- SQLITE_LIMIT_TRIGGER_DEPTH
- 触发器的最大递归深度。
- SQLITE_LIMIT_WORKER_THREADS
- 单个 准备好的语句可以启动的最大辅助工作线程数。