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