注册

查询时是否走分区问题

葫芦大娃 2024/08/05 551 7

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:Linux
【CPU】:4
【问题描述】*:为什么先全表扫描再去分区裁剪啊,那分区的意义是什么呢?
不应该向Oracle那样先根据条件去指定的分区里面扫描数据么?

ddl:
CREATE TABLE "TAB_LC"
(
"ID" BIGINT NOT NULL,
"LCCLRQ" TIMESTAMP(6),
......,
CONSTRAINT "TAB_LC_PK" NOT CLUSTER PRIMARY KEY("ID"))
PARTITION BY RANGE("LCCLRQ")
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
(
PARTITION "P_TAB_LC_BEFORE_2023" VALUES LESS THAN(DATETIME'2023-01-01 00:00:00') STORAGE(FILLFACTOR 85, ON "DATA")
) STORAGE(FILLFACTOR 85, ON "DATA", BRANCH(32, 32)) ;
CREATE INDEX "TAB_LC_LCCLRQ_IDX" ON "JDATA"."TAB_LC"("LCCLRQ" ASC) STORAGE(FILLFACTOR 85, ON "JDATA", CLUSTERBTR) ;

SQL:
EXPLAIN
SELECT *
FROM "DATA"."TAB_LC" C
WHERE C.LCCLRQ BETWEEN '2023-07-01 00:00:00' AND '2023-07-30 23:59:59';
结果:
1 #NSET2: [1, 219, 516]
2 #PRJT2: [1, 219, 516]; exp_num(14), is_atom(FALSE)
3 #PARALLEL: [1, 219, 516]; scan_type(GE_LE, end_key_opt), key_num(0, 1, 1), simple(0)
4 #BLKUP2: [1, 219, 516]; TAB_LC_LCCLRQ_IDX(C)
5 #SSEK2: [1, 219, 516]; scan_type(ASC), TAB_LC_LCCLRQ_IDX(TAB_LC as C), scan_range[exp_cast('2023-07-01 00:00:00'),exp_cast('2023-07-30 23:59:59')]
_20240805101300.png

回答 0
暂无回答
扫一扫
联系客服