INDEX_FOR_GROUPBY

最近更新时间:2025-11-18 10:10:22

我的收藏

功能描述

INDEX_FOR_GROUPBY/NO_INDEX_FOR_GROUPBY提供 Hint 控制 GROUPBY 操作的情况下采用 Loose Index Scan 方式(松散索引扫描)减少扫描开销。

语法

/*+ NDEX_FOR_GROUPBY ([@query_block_name] tbl_name [index_name])*/

示例

CREATE TABLE t1 (
a INT,
b INT,
c INT,
KEY k2 (a, b, c)
);

INSERT INTO t1 VALUES
(1, 2, 3), (1, 2, 4), (3, 4, 5), (3, 4, 5);

SELECT /*+ INDEX_FOR_GROUPBY(t1 k2)*/DISTINCT a, b
FROM t1
WHERE a BETWEEN 1 AND 10
AND a > 1 AND c = 5
ORDER BY a, b;