
DolphinDB 内存分区表是驻留于单节点内存、按指定列逻辑分割为多个子表分片的数据结构旨在通过细粒度锁机制提升并发读写性能并利用多核并行计算不支持组合分区COMPO且服务重启后数据丢失 。核心特性与限制存储介质完全位于内存无持久化重启即失受单节点内存容量限制。分区机制逻辑上为一张大表物理上由多个独立管理的子表组成不支持 COMPO 复合分区仅支持 VALUE值、RANGE范围、HASH哈希、LIST列表四种方式 。并发优势消除全局锁各分区独立加锁显著提升多会话并发读写能力查询时若命中分区键可自动裁剪扫描范围 。创建约束创建后不可动态增删子表模板表数量必须严格等于分区数量 。适用场景高频交易实时计算、大规模中间结果集处理、需高并发更新的临时数据集 。创建语法与示例使用database(, partitionType, scheme)创建内存数据库句柄目录参数为空字符串配合createPartitionedTable生成表。模板表可为普通表、键值表、流表或 MVCC 表需传入元组形式每个元素对应一个分区。# 1. 定义分区域内存数据库RANGE 分区 db database(, RANGE, 0 1000000 2000000) # 2. 定义单分区模板表此处以常规内存表为例 schema table(1:0, idsymprice, [INT, SYMBOL, DOUBLE]) # 3. 创建分区表传入模板表向量数量需匹配分区数 # 若分 2 区需传入 [schema, schema]此处示意单模板自动扩展或需手动构造列表 pt db.createPartitionedTable([schema, schema], myMemPartTable, id) # 4. 数据写入直接 append! 到分区表对象 pt.append!(table(500000..1500000 as id, rand(AB, 1000000) as sym, rand(100.0, 1000000) as price)) :ml-citation{ref7,15 appearanceaggregated datacitationList}