我在apache derby中搜索了一些关于不区分大小写搜索的内容。所有谷歌的结果都很老(2007年最新)。我发现在不丢失索引的情况下搜索不区分大小写是不可能的(“LOWER”不使用索引)。
这仍然是真的吗?或者有没有办法在索引的varchar / text列上进行不区分大小写的搜索?
事先提前答案 0 :(得分:3)
查看collation:
创建连接器时可以使用TERRITORY_BASED:SECONDARY`,这是我能够实现此目的的唯一方法:
TERRITORY_BASED:SECONDARY
:基于整理强度SECONDARY
的地区SECONDARY
通常表示基本字母或重音符号的差异 被认为是重要的,而不考虑案例的差异 显著。强>
示例:
jdbc:derby:MexicanDB;create=true;collation=TERRITORY_BASED:SECONDARY
显然,在Derby中无法在函数上创建索引: https://issues.apache.org/jira/browse/DERBY-455
另一种可能性是将相同的值存储在小写列中并搜索。