oracle 多字段索引和单字段索引

 我来答
惠企百科
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

在oracle中物理结构不一样。

create index INDEX_NAME on TABLE_NAME (ACCNO, ZONENO, CINO)

会根据ACCNO, ZONENO, CINO生成一个BTree索引树。

create index INDEX_NAME on TABLE_NAME (ACCNO)。

create index INDEX_NAME on TABLE_NAME (ZONENO)。

create index INDEX_NAME on TABLE_NAME (CINO)。

会生成3个索引树。如果根据ACCNO, ZONENO, CINO三个字段检索,正常情况下(ACCNO, ZONENO, CINO)会快一些。

如果按照ACCNO中的一个字段检索,下面的情况会快一些。

如果在同时建上面两种情况的检索,也不会报错。只是会在DML,更新插入删除时会慢一些。试图考虑下bitmap索引,可能也能对你的业务有用。

扩展资料:

索引使用原则:

在正确使用索引的前提下,索引可以提高检索相应的表的速度。当用户考虑在表中使用索引时,应遵循下列一些基本原则。

(1)在表中插入数据后创建索引。在表中插入数据后,创建索引效率将更高。如果在装载数据之前创建索引,那么插入每行时oracle都必须更改索引。

(2)索引正确的表和列。如果经常检索包含大量数据的表中小于15%的行,就需要创建索引。为了改善多个表的相互关系,常常使用索引列进行关系连接。

(3)主键和唯一关键字所在的列自动具有索引,但应该在与之关联的表中的外部关键字所在的列上创建索引。

(4)合理安排索引列。在createindex语句中,列的排序会影响查询的性能,通常将最常用的列放在前面。创建一个索引来提高多列的查询效率时,应该清楚地了解这个多列的索引对什么列的存取有效,对什么列的存取无效。

参考资料来源:百度百科-Oracle索引




已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式