sql - 如何通过调用 indexedTable 函数在创建表时设置容量
问题描述
如何通过调用 indexedTable 函数在创建表时设置容量?
我用indexedTable建表,代码是:
t1 = indexedTable(`sym`id, 1:0, `sym`id`val, [SYMBOL,INT,INT])
t2 = indexedTable(`sym`id, 100:0, `sym`id`val, [SYMBOL,INT,INT])
我发现写入和查询数据没有区别。所以我想知道容量的作用是什么?
解决方案
参数“容量”为正整数,表示建表时系统为该表分配的内存(以记录数计)。当记录数超过容量时,系统会先分配1.2~2倍容量的新内存空间,然后将数据复制到新的内存空间,最后释放原来的内存。对于较大的表,此类操作的内存使用会非常高。所以建表时建议提前分配合理的容量。
推荐阅读
- javascript - Javascript (ES8) - 从父类获取类的静态值
- c - 接受一个字符串并“过滤掉”所有非数字字符以及C中除第一个点之外的所有字符的函数?
- node.js - 安装 npm 会删除 eosio 包,反之亦然?
- matlab - Matlab eig 没有输出已知的输出向量
- sql - sql如何在条件中返回列表
- java - 单击输入时如何解决扫描仪错误
- symfony - 如何将 api-platform {id} 更改为其他名称?
- java - 在java中为两个不使用继承的类创建通用方法
- arrays - 如何在 Kotlin 中将对象、布尔值和长值添加到数组中?
- django - Heroku CI 和/或 Travis CI