TC的优化--HDB--java api

对于hash数据库而言,优化项目按照重要程度排序,分为以下几项:

扩展MMap内存:

通过mmap call可以被映射到内存中的数据文件的内容大小,也就是相当于缓存。hash数据库的数据在<=扩展MMAP内存的情况下是最优的。

bucket array

hash表的元素数量,值越大,keyhash值分布越均匀,在bucket内的二分查找的时间复杂度越低,效率也就越高。

free block pool

用来记录数据文件中已经废弃的部分,并在需要的时候将其再次利用起来。该值越大,数据文件的利用率越高,文件膨胀也就越慢。

 

JAVA API


setxmsiz

public boolean setxmsiz(long xmsiz)

设置扩展mapp内存大小

Parameters:

xmsiz - 扩展mapp内存大小. 如果该值小于0,扩展mapp内存将被禁用. 默认大小是67108864字节.

Returns:

If successful, it is true, else, it is false.

Note:

需要在打开数据库之前设置.


optimize

public boolean optimize(long bnum,

                        int apow,

                        int fpow,

                        int opts)

优化数据库文件.

Parameters:

bnum - bucket array的元素数量. 如果该值小于0,将使用默认值。默认值为记录数的两倍。

apow - 记录列队大小的2的次方数(假如apow值为4,那么记录列队的大小就是24次方,也就是16. 如果该值是负的,那么不会改变当前设置。

fpow - free block pool 的最大元素数的2的次方数。 如果该值是负的,那么不会改变当前设置。

opts - `HDB.TLARGE' 指定了数据库文件大小可以通过使用64-bitbucket array来超过2G的限制;`HDB.TDEFLATE'指定以Deflate格式压缩每个记录;`HDB.TBZIP'指定以BZIP2 格式压缩每条记录; `HDB.TTCBS'指定以TCBS格式压缩每条记录;如果是0xff,不做任何更改。

Returns:

If successful, it is true, else, it is false.

Note:

这个函数可以降低带有连续更新碎片的数据库文件大小。


setcache

public boolean setcache(int rcnum)

设置缓存参数.

Parameters:

rcnum - 被缓存的最大记录数。如果该值小于0,那么该项被禁用,默认情况下该项被禁用。

Returns:

If successful, it is true, else, it is false.

Note:

需要在打开数据库之前设置.


setdfunit

public boolean setdfunit(int dfunit)

设置自动除碎片的单位步长。

Parameters:

dfunit - 单位步长。如果该值小于0,自动除碎片是被禁用的。默认情况下该项被禁用。

Returns:

If successful, it is true, else, it is false.

Note:

需要在打开数据库之前设置.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值