我有很多大型多维多维数组,其值需要经常访问。我需要存储它们并从磁盘中检索它们。
存储数据的默认方式是RDMS,但我不禁觉得这种情况很尴尬。一个人不想创建一个包含4096列的表(此时SQL Server Express的8K行大小限制,我当前的RDMS成为一个问题)。将数组存储在表中的替代方法,如:
第1列是x坐标
第2列是y坐标
第3列是实际值
是很多性能开销,因为原始数据集中的单个列或行(不是数据库的列或行)可能遍布整个硬盘驱动器,但这可能是正确的方法。
您可以提供有关保留大型多维数字数据的最佳方法的经验。初始化和关闭性能问题低于10秒我可能没问题。如果将所有数据提取到内存中,或者将其全部写入内存,那么这是一个问题。
我的例子是2维,有些数组有更多。
答案 0 :(得分:1)
存储阵列的可能性 - 如果要使用SQL Server - 是在XML字段中为每个数据库行存储一个数组。您应该具有以下优势:存储或提取XML应该相对快速,并且在内存中运行的XML解析器应该比磁盘阵列索引/单元值查找检索更快。