我在数据库中有几千个相同区域的非常大的无线电遥测阵列字段。对于所有阵列字段,像素的地理参考都是相同的。数组可以通过要么全有要么全无的方式加载到内存中。
我想从所有数组字段中提取特定地理坐标的像素。目前,我查询特定地理坐标的特定像素的索引,然后将数据库中的所有数组字段加载到内存中。然而,这是非常IO密集型的,会使我们的系统过载。
我想象如下:我将数组保存到磁盘上,然后依次打开它们并查找与像素对应的字节位置。我想,这比将它们全部加载到内存中要浪费得少,速度也快得多。
寻求一个职位被认为是一个快速的行动,还是一个人不会做这样的事情?
查找操作所需的时间以低毫秒为单位,在大多数情况下可能小于10。所以这不会成为瓶颈。
但是,如果必须以任何一种方式从数据库中检索和保存所有记录,那么最终可能会得到大致相同甚至更大的IO负载。写入文件的IO时间肯定比读取内存的IO时间要长。
是时候做一个小实验了:)用几个数组试试,并对性能进行计时,然后你可以计算它的规模。