暂无图片
Oracle中如果建了一个组合索引 当用这个组合索引中的某个字段去做条件查询时, 查询速度会变快吗?
我来答
分享
暂无图片 匿名用户
Oracle中如果建了一个组合索引 当用这个组合索引中的某个字段去做条件查询时, 查询速度会变快吗?

Oracle中如果建了一个组合索引 当用这个组合索引中的某个字段去做条件查询时,查询速度会变快吗?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
张sir

对于一个组合索引(a,b,c),以(a)、(a,b)、(a,b,c)为where条件都可以加速查询,

如果where条件中没有a,只以b或c为查询条件,这个时候oracle可能会走索引跳跃扫描或者全表扫,具体选哪个,以oracle优化器评估的cost为标准,如果a的值的基数比较小,可能索引跳跃扫描比较快,其实索引跳跃扫描的本质就是在where条件中列出全部a的值然后再加上b的值做条件。如果a的值的基数比较多,那索引跳跃扫描的代价就很高了,还不如全表来的快呢。

暂无图片 评论
暂无图片 有用 2
打赏 0
暂无图片
哇哈哈
2022-09-13
mark
薛晓刚

一般来说用到了前导列,就可能使用到索引。通常来说是可以快的。

暂无图片 评论
暂无图片 有用 0
打赏 0
chengang

符合最左原则肯定更好。

但如果不符合,那跳扫 要看存储的数据情况了。

最佳的还是符合最左原则。

暂无图片 评论
暂无图片 有用 0
打赏 0
回首看不尽年华

索引遵循最左匹配原则。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
有关直接路径读
回答 1
禁用后如果读到大表,缓存到buffercache就有可能会把其他对象挤出去。简单说下,直接路径读,不会缓存,适合大表全扫且低频访问的SQL。如果不能缓存,每次都会去读磁盘,性能开销较大,所以不适合高频
ora-29701
回答 3
1/看看css服务是否启动2/看看相关的资源的情况3/手动启动ora.cssd
oracle中,SID和instance_name有什么关系?
回答 1
我们一般连接的都是sid。如果有pdb,那么我们一个实例有一个instancename但是有多个sid。
请教一SQL(Oracle数据库)
回答 3
已采纳
你可以使用Oracle的MODEL子句来实现这个需求。MODEL子句允许你使用一种类似于电子表格的方式来处理数据。以下是一个可能的解决方案:sqlSELECT  FROM&nbsp
关于oracle审计日志问题
回答 5
这个可以做啊关闭telent,开启ssh2,应该就可以吧
_optimizer_mjc_enabled含义
回答 1
已采纳
DescriptionIftheoptimizerindexcachingandoptimizerindexcostadjparametersaresettonondefaultvaluestheop
Oracle用户经常锁定,怎么查哪个ip导致的?
回答 2
1.开启db审计altersystemsetaudittraildbscopespfile;2.开启账号登录审计auditsessionby<username>whenevernotsuc
如何理解v$sql_plan里的child_number
回答 1
已采纳
执行计划改变, 肯定是要生成新的游标,你这个是因为原来的child从内存清除了, 新的又从0开始了.执行计划不变也可能生成很多子游标,比如insert values语句的
ORA-30732: 表中不包含可见的列
回答 2
已采纳
可能是查询了一个系统表或者确实存在不可见的字段要么就是数据字典不一致导致的
最近几年公司逐渐使用各种数据库,有什么好工具能够快速管理多种数据库吗?
回答 1
DBeaver、Navicat这两款相对来说是支持较多且通用的数据库管理工具和SQL客户端。你可以尝试试用一下,找适合自己的。但是通用的缺点肯定是没那些专用的好用的。就像Oracle,使用plsqld