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