gpt4 book ai didi

sql - 索引是否与 oracle 中的组功能一起使用?

转载 作者:行者123 更新时间:2023-12-04 16:15:18 25 4
gpt4 key购买 nike

我正在运行以下查询。

SELECT Table_1.Field_1,
Table_1.Field_2,
SUM(Table_1.Field_5) BALANCE_AMOUNT
FROM Table_1, Table_2
WHERE Table_1.Field_3 NOT IN (1, 3)
AND Table_2.Field_2 <> 2
AND Table_2.Field_3 = 'Y'
AND Table_1.Field_1 = Table_2.Field_1
AND Table_1.Field_4 = '31-oct-2011'
GROUP BY Table_1.Field_1, Table_1.Field_2;

我为列创建了索引 (Field_1,Field_2,Field_3,Field_4)Table_1但索引没有得到使用。

如果我删除 SUM(Table_1.Field_5)从 select 子句然后索引正在被使用。

我很困惑优化器是否不使用此索引或其原因 SUM()我在查询中使用的函数。

请分享您的解释。

最佳答案

当您删除 SUM 时,您也会删除 field_5从查询。然后可以在索引中找到回答查询所需的所有数据,这可能比扫描表更快。如果您添加了 field_5使用 SUM 索引查询 可能使用索引。

关于sql - 索引是否与 oracle 中的组功能一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7790296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com