我用下面的代码创建了一个空表,然后查看这个表占用的内存,为什么没有数据的空表也会占用内存?
colName = ["time", "x"]
colType = ["timestamp", "int"]
t = table(1000000:0, colName, colType);
pnodeRun(objs) //查询非共享变量占用内存情况
返回:
我用下面的代码创建了一个空表,然后查看这个表占用的内存,为什么没有数据的空表也会占用内存?
colName = ["time", "x"]
colType = ["timestamp", "int"]
t = table(1000000:0, colName, colType);
pnodeRun(objs) //查询非共享变量占用内存情况
返回:
1 回答2.2k 阅读
1 回答929 阅读
1 回答752 阅读
DolphinDB中的table函数可以创建表。
capacity是正整数,表示建表时系统为该表分配的内存(以记录数为单位)。当记录数超过capacity时,系统会首先会分配capacity1.2~2倍的新的内存空间,然后复制数据到新的内存空间,最后释放原来的内存。对于规模较大的表,此类操作的内存占用会很高。因此,建议创建内存表时预先分配一个合理的capacity。
执行下面的代码:
返回:
占用内存大小和创建表时设置的capacity有关。