首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle中前缀索引的替代方案是什么?

Oracle中前缀索引的替代方案是什么?
EN

Database Administration用户
提问于 2012-12-08 16:52:06
回答 2查看 694关注 0票数 1

您可以创建索引并定义前缀长度,因此索引将只存储来自每个列值的第一个起始符号。在MySQL中如下所示:

代码语言:javascript
复制
CREATE INDEX table_idx ON emp(last_name(8));

在Oracle中,是否有其他方法可以做到这一点呢?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2012-12-08 17:39:39

您可以在表达式上创建索引(在MySQL中不能这样做):

代码语言:javascript
复制
CREATE INDEX table_idx ON emp(substr(last_name,1,8));

但是,除非在where子句中也使用这个表达式,否则不会有任何帮助。

代码语言:javascript
复制
where substr(last_name,1,8) = 'foobar'

在MySQL中,没有对整个值进行索引的索引的具体用法是什么?

票数 5
EN

Database Administration用户

发布于 2012-12-12 08:13:51

我发现有一些特殊的"Oracle文本“索引可以提高通配符查询的性能。这样的索引构造需要更多的工作,但仍然是创建前缀索引的一种方法:

http://docs.oracle.com/cd/B28359_01/text.111/b 28303/ind.htm#i 1007102

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/30032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档