我正在为微阵列数据构建数据库.每个患者样本都有超过1,000,000个功能,我希望将患者样本作为行存储在sql表中,每个功能都作为一列.
HuEX Microarray Data +----+----------+----------+-----+------------------+ | ID | Feature1 | Feature2 | ... | Feature1,000 | +----+----------+----------+-----+------------------+ | 1 | 2.3543 | 10.5454 | ... | 5.34333 | | 2 | 13.4312 | 1.3432 | ... | 40.23422 | +----+----------+----------+-----+------------------+
我知道大多数关系数据库系统都对表中的列数有限制.
+------------+-----------------+ | DBMS | Max Table Col # | +------------+-----------------+ | sql Server | 1,024 - 30,000 | | MysqL | 65,535 bytes | | Postgresql | 250 - 1,600 | | Oracle | 1,000 | +------------+-----------------+
显然,这些限制对我的任务来说太低了.反正有没有增加sql数据库表可以拥有的列数,还是有另一个DBMS可以处理如此多的表列?
更新
请注意,所有列都包含所有行的值.
解决方法
别.
事件,如果你可以使它工作,它将是非常缓慢和笨拙的.
相反,您应该创建一个单独的表,其中包含PatientID,Feature和Value的列.
对于您建议的表中的每个单元格,此表将有一行.
它还可以添加有关每个患者特征对的其他信息.