我有一点数据库,仅用于学术目的,我最多有对象表。
我在 Power Designer 中创建了一个实体关系模型 (ERM),并且该程序默认为每个表的序列 ID 创建索引。
- 我想知道如何使用索引
就像在查询中那样。说我会
想要通过 id 查找产品,
但使用它的索引。
- 是否可以做
select
value(s) from supplierf where s.name
LIKE '%search%' order by s.name
使用索引进行搜索,例如
那?我知道可以创建
名称索引,但用于搜索
我不知道事情是怎样的
工作。
让我说,我确实知道 Oracle 决定何时或是否值得在查询中使用索引,但我可能至少必须尝试在我的 BD 项目中使用索引
1.
通过将列定义为PRIMARY KEY
(这就是你的 id 列最有可能的),Oracle 隐式地为此列创建一个索引。当您进行选择时,它很可能会决定使用该索引WHERE id=123
)。您可以提供一个hint http://www.psoug.org/reference/hints.html在您的查询中让 Oracle 使用索引(在大多数情况下),但这对您来说不是必需的。
2.
Oracle 不太可能使用索引LIKE
(除非您知道您的文本以搜索字符串开头并且您可以使用“xyz%”)。看托尼·安德鲁斯的帖子 https://stackoverflow.com/questions/2124400/how-to-create-index-for-dynamic-search-strings/2126860#2126860有关何时以及如何使用索引进行全表扫描的更多信息。
文章关于Oracle LIKE 子句使用文本索引进行搜索 http://www.dba-oracle.com/oracle_tips_like_sql_index.htm应该提供有关处理全文搜索的方法的信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)