我有一个类的数据具有非常大数量的二元属性 - (!)151是准确的 - 和我所关心的是如何将这些数据结构建模。尽管把位字段存储为字节的内部效率,但我的编程spidey感觉刺激创建一个包含151位字段(除了其他属性)的表。与位域的大量的数据库结构
不会有大量行的 - 也许是1000,一旦送入产量不会经常改变。
我以为我的分类数据分成不相交的子类,并创建单独的表,但以这种方式分割属性是行不通的,甚至如果可能的话肯定不会与数据子类有效映射。另一个问题是我想将所有数据放在一起,避免现场和/或行重复。我也考虑过使用一些自定义的二进制格式,但这是不可行的,因为我的数据中的关键字段被用作其他表中的外键。
查询将大量使用的WHERE子句来提取相关数据。我已经考虑过使用多个long或int字段,但是由于我知道SQL中没有按位和操作符或函数,并且如上所述,属性的分类是有问题的,所以我拒绝这样做,因为我不知道其他主要软件工程问题(用这种方法)。
我将使用PostgreSQL。
所以,在这里我的问题是我只是做一个表字段的数量庞大,还是有关系模型兼容其他的方法?
+1。同意数据库可能不是这个数据的最佳位置。使用合适的蒙版进行逐位测试似乎更合适。 – 2009-04-08 04:48:16
这实际上是我原来的计划,但我需要我的关键字段作为其他表中的外键。无论如何,由于支持位操作符的操作符现在没有意义。我的结构变得明显。 – gvkv 2009-04-08 05:00:16