java – 在数据库中存储BitSet数组的最佳方法?

我有一个java.util.BitSet数组,我想在我的数据库中保留,但我不知道最好的方法是什么.
确切地说,对于我想要存储的每个条目,我得到x * y true或false值.我试过java.util.BitSet是一个很好的调用尝试,但我真的不知道如何将它存储在数据库中.

我正在使用带有hibernate的MySQL数据库(带注释).

这是我初始化我的地图的方式:

 Bitset[] map = new BitSet[x];
 for (int i = 0; i < x; i++) {
     map[i] = new BitSet(y);
 }

更新:

这个数据集没有任何关系,问题是我有大量的这些“二维阵列”,一件大小约为360 * 180.

我也试图用它制作一个图像,一个单色的pbm文件很容易制作.但是数据不在数据库中,并且每次处理保存的“图像”文件都是过度的,我认为有点慢.

解决方法:

你可以在数据库中有一列int(或等价的).

如果你有2列并假设每列是32位,你可以输入
 第1行col 1 32位,然后第1行col 2接下来32,然后你去
 第2行第1行并重新开始,依此类推.

你可以利用这些位之间有任何关系吗?
 或者它只是一个大转储?

注意:我使用这种技术打包/压缩数据,因此可能不是您需要的.

编辑:
 我正在考虑存储原始blob并通过将它们存储在单独的实体(新表或更多列)中来跟踪修改后的位
     你有原始blob,然后是BitIndex:BitNewValue的映射.
     一个更合适的框架现在是map reduce.
     但我可以看到,如果改变很多位,如何管理这样的事情会变得非常头痛.

上一篇:php+mysqli预处理技术实现添加、修改及删除多条数据的方法


下一篇:(转)C++ bitset用法