%SQLITE_LIMIT_LENGTH = 0
%SQLITE_LIMIT_SQL_LENGTH = 1
%SQLITE_LIMIT_COLUMN = 2
%SQLITE_LIMIT_EXPR_DEPTH = 3
%SQLITE_LIMIT_COMPOUND_SELECT = 4
%SQLITE_LIMIT_VDBE_OP = 5
%SQLITE_LIMIT_FUNCTION_ARG = 6
%SQLITE_LIMIT_ATTACHED = 7
%SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8
%SQLITE_LIMIT_VARIABLE_NUMBER = 9
%SQLITE_LIMIT_TRIGGER_DEPTH = 10
这些常数定义了使用sqlite3_limit在运行时可以降低的各种性能限制。各种限制的含义概要如下。SQLite中的限制可以获得更多信息。
SQLITE_LIMIT_LENGTH
任何字符串或BLOB或表行的最大大小(以字节为单位)。
SQLITE_LIMIT_SQL_LENGTH
SQL语句的最大长度(以字节为单位)。
SQLITE_LIMIT_COLUMN
列表定义中或列的结果集中的最大列数或索引或ORDER BY或GROUP BY子句中的最大列数。
SQLITE_LIMIT_EXPR_DEPTH
任何表达式的解析树的最大深度。
SQLITE_LIMIT_COMPOUND_SELECT
复合SELECT语句中的最大项数。
SQLITE_LIMIT_VDBE_OP
用于实现SQL语句的虚拟机程序中的最大指令数。这个限制目前不是执行的,尽管这可能会在将来的SQLite版本中添加。
SQLITE_LIMIT_FUNCTION_ARG
函数上的最大参数数。
SQLITE_LIMIT_ATTACHED
附加数据库的最大数量。
SQLITE_LIMIT_LIKE_PATTERN_LENGTH
LIKE或GLOB运算符的pattern参数的最大长度。
SQLITE_LIMIT_VARIABLE_NUMBER
SQL语句中任何参数的最大索引号。
SQLITE_LIMIT_TRIGGER_DEPTH
触发器的最大递归深度。