首页 > 解决方案 > 如何在 Postgres 中存储一个大数组?

问题描述

印度有大约 19100 个密码。对于一个应用程序,我想计算并存储任意两个密码之间的距离(这不是挑战,将使用谷歌地图 API 来找到它)。计算时大约有 1.82 亿条记录(使用了 n 个数字的总和公式)。

如何以易于检索和优化存储的方式存储这些数据?

我能想到的一个选择是将它存储为一个大约有 8500 列和 8500 行的表,但这对我来说似乎是错误的。我可以使用更好的方法或库吗?

我使用 python 和 postgresql。

标签: postgresql

解决方案


我将从保持超级简单开始,创建一个包含 start_pin、end_pin 和距离的表。在开始和结束处组合索引。

(如果存储我们一个大问题,可能通过使用 smallint 来表示每个 pin 码并将其存储在查找表中进行优化......但首先检查这是必要的)


推荐阅读