首批通过分布式安全可靠测评,为关键业务系统打造
创建分区级冷热存储策略
更新时间:2026-06-22 20:54:40
本文将向您介绍如何使用 SQL 语句创建分区级冷热存储策略(STORAGE_CACHE_POLICY)。
说明
OceanBase 数据库从 V4.4.1 版本开始在共享存储模式下,支持创建表时指定分区级冷热存储策略的功能。
注意事项
在共享存储模式下,才可以在创建表时指定分区级冷热存储策略。
语法
在创建分区表时,可以给一级分区或者二级分区指定该分区的缓存策略,需要给具体的分区(Partition)增加指定的 STORAGE_CACHE_POLICY,语法格式如下:
CREATE TABLE table_name (table_definition_list)
partition_option
(partition_list [STORAGE_CACHE_POLICY = {"hot" | "auto" | "cold" | "none"}])
subpartition_option
(subpartition_list [STORAGE_CACHE_POLICY = {"hot" | "auto" | "cold" | "none"}]);
相关参数说明
分区级的 STORAGE_CACHE_POLICY 为可选项,取值如下:
hot:表示指定分区的所有数据都为热数据,在缓存盘空间足够的情况下,分区下所有数据将会缓存到本地缓存盘。auto:表示指定分区的热数据为系统自动识别。cold:表示指定分区数据为冷数据,不会缓存到本地缓存盘,对于已经持久化到缓存的数据会主动触发缓存淘汰,后续访问的表数据可以存储在宏块内存缓存,不会持久化到宏块缓存和微块缓存。none:默认值,表示该分区的冷热存储策略跟随上一级的STORAGE_CACHE_POLICY取值。
更多有关创建分区表的详细介绍,参见 创建分区表。
示例
创建分区表时指定一级分区的
STORAGE_CACHE_POLICY。CREATE TABLE tbl1 (col1 INT, col2 INT, col3 INT) PARTITION BY RANGE(col1) SUBPARTITION BY KEY(col2, col3) SUBPARTITIONS 5 (PARTITION p0 VALUES LESS THAN(0) STORAGE_CACHE_POLICY = "hot", PARTITION p1 VALUES LESS THAN(100) STORAGE_CACHE_POLICY = "auto" );创建分区表时指定二级分区的
STORAGE_CACHE_POLICY。CREATE TABLE tbl2 (col1 INT, col2 INT) PARTITION BY RANGE(col1) SUBPARTITION BY RANGE(col2) (PARTITION p0 VALUES LESS THAN(100) (SUBPARTITION sp0 VALUES LESS THAN(2020) STORAGE_CACHE_POLICY = "hot", SUBPARTITION sp1 VALUES LESS THAN(2021)), PARTITION p1 VALUES LESS THAN(200) (SUBPARTITION sp2 VALUES LESS THAN(2020), SUBPARTITION sp3 VALUES LESS THAN(2021) STORAGE_CACHE_POLICY = "hot", SUBPARTITION sp4 VALUES LESS THAN(2022)) );