-- 查询指定 DB 下的 表 -- /DB/table 与 class 命名发生冲突时,class 优先级高于 /DB/table select * from /mdbxdb/sqlite_master /** output() **/ ; select * from /mdbxdb/T__project_0_1000119_0_harness_0_draft__paper_0_trade_0_record limit 1 /** output() count(1) **/ ; -- 1cpu 4GB 普通机械硬盘 -- 只查 id 13s -- 查两个字段 id,project_1000119_harness_draft_trades_on 45s select id,project_1000119_harness_draft_trades_on from /mdbxdb/T__project_0_1000119_0_harness_0_draft__paper_0_trade_0_record /** outputcount() count(920706) **/ ; -- select * from /mdbxdb/T__project_0_1000119_0_harness_0_draft__paper_0_trade_0_record -- where project_1000119_harness_draft_trades_on in ('project_1000119_harness_draft_trade_instrument:INSTRUMENT_000000042') -- /** -- output() -- **/ -- ; -- 固定映射(指定固定条件或无条件映射数据), -- 当主类中没有数据时,查询时自动赋值默认对象属性: -- class: 类名/mdbx/dba1, -- id: 组合映射表主键为字符串, -- name: 与id相同, -- day: 当前日期, -- vtime: 当前时间 -- 映射表查询结果按 id 匹配关联主对象 -- 当主类中存在数据时,直接按主对象 id 与 组合映射表主键得到的字符串 进行匹配关联主对象 -- rdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序或相应表字段定义顺序一致 -- rdb 数据 与 id 一一对应,实际 二维数组中的第一维 最多只有 一个元素 -- 支持 bucket 链式表达式 select id,rdb from /mdbx/dba1 /** output() **/ ; -- 条件映射 -- 主类中需要有数据,按指定条件映射数据,条件与主类数据有关联 -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致 -- xrdb 数据 与 id 为多对一关系,默认输出第一条记录,需要在 bucket 定义时明确数据唯一排序,否则数据输出可能不稳定 -- 支持 bucket 链式表达式 select * from /mdbx/dba2 /** output() **/ ; -- 条件映射 -- 主类中需要有数据,按指定条件映射数据,条件与主类数据有关联 -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致 -- xrdb 数据 与 id 为多对一关系 -- 支持 bucket 链式表达式 select id,xvarchar,xrdb.find(整数>1) from /mdbx/dba2 /** output() **/ ; -- 条件映射 -- 主类中需要有数据,按指定条件映射数据,条件与主类数据有关联 -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致 -- xrdb 数据 与 id 为多对一关系 -- 支持 bucket 链式表达式 select id,xvarchar,xrdb.find(整数>1).groupby("文本").count() from /mdbx/dba2 /** output() **/ ; -- 条件映射 -- 主类中需要有数据,按指定条件映射数据,条件与主类数据有关联 -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致 -- xrdb 数据 与 id 为多对一关系 -- 支持 bucket 链式表达式 -- 支持 assert(AEXP) select id,xvarchar,xrdb.find(整数>1).groupby("文本").count() from /mdbx/dba2 where xrdb.avg("浮点").groupby("字符串").assert(avg>0) /** output() **/ ; -- 条件映射 -- 主类中需要有数据,按指定条件映射数据,条件与主类数据有关联 -- TODO 重组 xrdb 指定字段,输出平表 -- TODO 允许 bucket 与普通类操作方式一致 -- TODO assert(AEXP) 可转换为 id in bucketfield.exps(...).find(AEXP).ids(), -- TODO 相同的链式表达式 bucketfield.exps(...) 可以复用中间结果 -- select id, xrdb.字符串, xrdb.整数.mod(10) from /mdbx/dba2 where xrdb.整数 > 0 /** output() **/ ;