首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库索引

数据库索引
EN

Stack Overflow用户
提问于 2022-05-14 04:03:42
回答 1查看 85关注 0票数 0

我试图了解如何为下面的查询创建索引,以便SELECT语句仅水平遍历索引的叶级,而不访问关系表。我正在开发Oracle中的关系数据库。

代码语言:javascript
复制
SELECT SUM(SUM(qty))
FROM PlaceOrder
GROUP BY OrderNumber
HAVING COUNT(LineNumber) > 10;

创建以下索引正确吗?

代码语言:javascript
复制
CREATE INDEX IDX_PO 
    ON PlaceOrder(qty, OrderNumber, LineNumber);

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-05-15 07:08:33

正如astentx所指出的,需要not null约束。事实上,只要qtyOrderNumberLineNumber都有not null,甲骨文就应该能够使用索引。

另外,请注意,除非您特别希望排除带有空LineNumber的行,否则可以用COUNT(OrderNumber)甚至COUNT(*)替换COUNT(LineNumber)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72237264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档