Oracle是否具有与Postgres相同的功能? text_pattern_ops opclass?

时间:2014-06-30 19:27:33

标签: oracle postgresql

在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中有相同的概念吗?

1 个答案:

答案 0 :(得分:2)

没有Oracle没有这样的选项,因为那里没有必要。

只需创建索引:

CREATE INDEX name_last_first_upper_ix
   ON name(upper(last), upper(first));

如果您的查询包含相同的表达式,则使用该索引,例如where upper(last) = 'FOO'where upper(last) like 'FOO%'