ITPub博客

首页 > Linux操作系统 > Linux操作系统 > TC的优化--HDB--java api

TC的优化--HDB--java api

原创 Linux操作系统 作者:horonunu 时间:2011-01-06 13:32:54 0 删除 编辑

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

 

扩展MMap内存:

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

 

bucket array:

hash表的元素数量,值越大,key的hash值分布越均匀,在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,那么记录列队的大小就是2的4次方,也就是16.)。 如果该值是负的,那么不会改变当前设置。

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

opts - `HDB.TLARGE' 指定了数据库文件大小可以通过使用64-bit的bucket 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:

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

 


 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18945822/viewspace-683361/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-01-04

  • 博文量
    2
  • 访问量
    10326