oracle - Oracle 是否具有与 Postgres 的 text_pattern_ops opclass 等效的功能?

标签 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 中是否有等效的概念?

最佳答案

没有 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/

相关文章:

database - 由于错误,Docker postgres 启动自动化无法创建数据库

sql - 如何获取不同列的最大值

如果阶段存在,则在里面进行 sql 查询

python - 如何在 Django 模型上为相关字段生成索引?

sql - Oracle 合并与选择然后插入或更新

sql - 使用日期在 Oracle 中创建表

sql - 如何使用新属性值更新 JSON 列?

sql - array_length() 函数的第二个参数是什么?

java - ResultSet 当数据为空时如何从对象中获取字符串?

django - 使用远程 Oracle 服务器的 Django 性能非常低