关于Oracle的联合索引的一些疑问

比如where条件中经常使用到字段A和B拼条件,但有的情况又需拼附件字段C,建索引时,分别给字段A、B建独立索引,还是对字段A、B建组合索引更好,如果建的是独立索引,使用... 比如where条件中经常使用到字段A和B拼条件,但有的情况又需拼附件字段C, 建索引时,分别给字段A、B建独立索引,还是对字段A、B建组合索引更好,如果建的是独立索引,使用A和B作为where组合条件时,还会走索引吗?如果建组合索引,单独以A或B作为where条件,是否能走索引呢?另外,怎么测试哪种方式效率更优? 展开
 我来答
micro0369
推荐于2016-01-05 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4087万
展开全部

这个问题比较复杂


首先:

  1. 如果建立联合索引A,B,那么如果where中只有B的话,那么肯定不会使用索引

  2. 如果使用单个索引A 和 B 的话,那么一般来说,同时where中同时出现A条件B的话,那么效率没有联合索引高。

  3. 具体查询时,是否使用索引,使用哪个索引,并不能总是原先知道,这个要根据oracle的统计数据,oracle仔细进行判断。

  4. 所以如果可能的话,可以同时增加 A、B列单独索引,也增加A、B列联合索引。

网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
百度网友07553bf0
2014-08-19 · TA获得超过1986个赞
知道大有可为答主
回答量:2464
采纳率:75%
帮助的人:1877万
展开全部
一般是这样:

A B 同时作为谓词条件, 可以为 A、B联合索引, 也可以是 A 或 B的独立索引 视乎选择性
B 作为谓词条件, 可以为 B、A联合索引, 也可以是B的独立索引
A 作为谓词条件, 可以为 A、B联合索引 , 也可以是A的独立索引
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式