在 postgres 中我可以创建这样的索引:
CREATE INDEX name_last_first_upper_ix
ON name(upper(last::text) text_pattern_ops, upper(first::text) text_pattern_ops);
text_pattern_ops
使索引可用于相等(upper(last) = 'FOO' AND upper(first) = 'CHEESE'
)和尾随通配符(upper(last) LIKE 'BAR%' AND upper(first) LIKE 'CHEE%
) 搜索。
Oracle 中是否有等效的概念?
最佳答案
没有 Oracle 没有这样的选项,因为那里没有必要。
只需创建索引:
CREATE INDEX name_last_first_upper_ix
ON name(upper(last), upper(first));
如果您的查询包含相同的表达式,则将使用该索引,例如where upper(last) = 'FOO'
或 where upper(last) like 'FOO%'
关于oracle - Oracle 是否具有与 Postgres 的 text_pattern_ops opclass 等效的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24497503/