为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: 8
【操作系统】:windows
【CPU】:
【问题描述】*:达梦数据库是否通过查询条件自动检索范围分区表。
现创建分区表TEST_PART1
CREATE TABLE "TEST_PART1"
(
"ID" NUMBER(20,0) NOT NULL,
"REMARK" VARCHAR2(1000),
"CREATE_TIME" TIMESTAMP(0))
PARTITION BY RANGE("ID")
(
PARTITION "PART_T01" VALUES LESS THAN(100) STORAGE(ON "TBS_TEST", CLUSTERBTR) ,
PARTITION "PART_T02" VALUES LESS THAN(MAXVALUE) STORAGE(ON "TBS_TEST", CLUSTERBTR)
) STORAGE(ON "TBS_TEST", CLUSTERBTR) ;
插入以下测试数据
按小于100的条件查询。查看范围查询语句执行计划,扫描数据集仍然为两条
请教各位大佬,达梦是否有能够通过范围条件查询分区表的语法
create index idx_TEST_PART1_id on TEST_PART1(id);
;
可以考虑通过分区索引定位数据的范围。
CSCN2代表聚集索引扫描,也就是全表扫,上面的parallel操作符是针对分区的扫描控制水平分区子表的扫描的
其实从上面的操作符PARALLEL 的scan_type(L)可以看出达梦也是针对查询条件进行了分区范围扫描。
scan_type(L) 代表 小于符号
scan_type(G) 代表 大于符号
scan_type(EQU) 代表 等于符号
scan_type(GE) 代表 大于等于符号
scan_type(LE) 代表 小于等于符号