在SQL中保存多个3D数组的最佳方法是什么?



我目前正在研究的一个程序构建多个不同大小的3D数组(例如50x50x200,30x30x100)。

我需要在SQL中存储这些数组,这样我就可以再次将它们拉出来并显示数组。我遇到了这个线程,它描述了存储3D数组的最佳方式。我将使用这个数据结构。

另一件要提到的事情是,许多相同大小的数组将被创建,例如1050x50x200。我的问题是如何去存储这些数组。我对这个问题思考了很多,然后得出了一些结论:

  1. 每个数组索引一个ID(x,y,z,ID)
  2. 每个数组大小一个表,例如50x50表,30x30表等,(w,x,y,z,ID)
  3. 中有一个4D数组
  4. 1在(w,x,y,z,size,ID)中包含5D数组的巨大表- size是指该数组是否为30x30

存储这些数组的最佳方式是什么?


编辑:

  • 数组中的所有元素将被一次检索;
  • 不需要在这些数组中更新-一旦它们被保存在SQL中,它们将不会改变;
  • 原始插入后,类似于更新,数组不会改变;

最好的方法取决于您将如何操作它们。如果您只需要在SQL中存储数组而不做任何操作,那么您就是在存储对象。

您可以使用单个列将整个对象存储为varbinaryvarchar()。对于数据库来说,它们看起来就像一堆比特,这对于存储和检索来说是很好的。

如果你要对数组做任何操作,那么你会想要一个更原生的解决方案。这可能涉及两个表,一个arrays表定义每个数组,另一个arrayElements表定义数组中的每个元素一行,所以有五列:

  • id数组。
  • x,y,z坐标
  • 元素值。

相关内容

  • 没有找到相关文章