关于DolphinDB的内存表问题

集群配置
物理机1:1个controller+1个agent+2个datanode
物理机2:1个agent+2个datanode
web管控界面:
image
从DolphinDB GUI 连接DolphinDB server的P1-datanode1,执行如下代码,创建一个复合分区表:
n=20000000
ID=rand(100, n)
dates=2017.08.07..2017.08.11
date=rand(dates, n)
x=rand(10.0, n)
t=table(ID, date, x)
dbDate = database(, VALUE, 2017.08.07..2017.09.11)
dbID = database(, RANGE, 0 50 100)
db = database("dfs://compodb", COMPO, [dbDate, dbID])
pt = db.createPartitionedTable(t, pt, date`ID)
pt.append!(t)

我执行
select * from pt where date=2017.08.07

select ID from pt where date=2017.08.07
都是把所涉及的分区数据都加载到内存表中吗?

阅读 1.6k
1 个回答

执行select * from pt where date=2017.08.07是把涉及分区内的所有字段数据加载进内存表。

执行select ID from pt where date=2017.08.07是把涉及分区内的ID字段数据加载进内存表。

所以,执行select ID from pt where date=2017.08.07加载到内存表的数据,要比执行select * from pt where date=2017.08.07加载到内存表的数据少,占用的内存更少。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
101 新手上路
子站问答
访问
宣传栏