回答

收藏

为字段分组创建索引?

技术问答 技术问答 249 人阅读 | 0 人回复 | 2023-09-14

您是否需要为Oracle数据库中按字段分组的字段创建索引?
! T* O( E3 o- q例如:
0 U" T3 `/ a8 |select *
( p$ y% S9 ?$ ofrom some_table; ]( g0 D. `3 S
where field_one is not null and field_two = ?5 j" X; Q6 G: [& Q
group by field_three, field_four, field_five4 W/ a5 H" ]# z2 B/ [# }6 q5 S6 E
我正在测试我为上面创建的索引,与此查询唯一相关的索引是为field_two创建的索引。在任何其他字段上创建的其他单字段索引或组合索引将不会用于上述查询。这听起来正确吗?
0 A6 g/ T2 M) ^6 i2 \                5 j" K! c+ x4 H8 O
解决方案:
* K- a9 q( q- \& `" A                9 ]1 e2 i5 E$ r9 d+ j) z
4 ^, ?4 Q" F/ A6 w
4 w* `. A4 q+ _% |9 ~
                可能是正确的,但这取决于您拥有多少数据。通常,我会为我在GROUP
( z- n7 q/ }5 \BY中使用的列创建索引,但是在您的情况下,优化器可能已经决定,在使用field_two索引之后,将没有足够的数据返回来证明使用GROUP的其他索引是合理的经过。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则