我听有人说打开case_sensitive_like
可以使查询工作更快。如果是这样,如果我们有以下 2 个查询选择不区分大小写的数据,您会怎么想:
SELECT * FROM MyTable WHERE MyColumn LIKE '%Value%'
假设
case_sensitive_like
关闭(默认情况下),这将返回相同的结果,无论Value
是value
,vAlue
,valUE
,...PRAGMA case_sensitive_like = ON;
SELECT * FROM MyTable WHERE LOWER(MyColumn) LIKE LOWER('%Value%');
这也将返回相同的结果,无论
Value
是value
,vAlue
,valUE
, ...
我希望#2优于#1。
请帮忙。谢谢。
PS:我认为可以通过首先使用小写字符串的值为 Value 声明一个常量来提高 #2 的性能,或者可以在传入查询之前对其进行处理(例如在 C# 代码中)。