我看到LIKE运算符可以在我切换PRAGMA case_sensitive_like = ON时优化查询.我测量,它确实有效,查询"LIKE someth%"在分区大的二进制索引表上变快十倍.但问题是我的库作为我的应用程序的附加组件实现,它维护自己的表与它连接的任何数据库.所以问题是
我无法读取case_sensitive_like,因为它只支持设置,而不是读取.所以我不能暂时读取状态并在查询后返回它,
作为一个应该服从db的主要功能的插件,我不应该将设置更改为我需要好的,因为它可能会影响其他例程.
我看到没有Like(区分大小写)内部等价物直接调用optimizid查询.例如,使用LIKECASESENSITIVE而不是LIKE
我可以调用sqlite3_create_function,但我不知道我是否可以在内部调用LIKE(CASE SENSITIVE).
Nick Dandoul.. 6
我无法读取,
case_sensitive_like
因为它只支持设置,而不是读取.所以我不能暂时读取状态并在查询后返回它
您可以case_sensitive_like
通过以下查询获取状态:
select case when 'a' like 'A' then 0 else 1 end
这将返回1
如果case_sensitive_like = ON
和0
如果它OFF
.
我无法读取,
case_sensitive_like
因为它只支持设置,而不是读取.所以我不能暂时读取状态并在查询后返回它
您可以case_sensitive_like
通过以下查询获取状态:
select case when 'a' like 'A' then 0 else 1 end
这将返回1
如果case_sensitive_like = ON
和0
如果它OFF
.