gpt4 book ai didi

database - 我的数据库中需要空间索引吗?

转载 作者:太空狗 更新时间:2023-10-30 01:45:58 25 4
gpt4 key购买 nike

我正在设计一个需要在数据库中保存几何形状的应用程序。我还没有选择数据库管理系统。

在我的应用程序中,所有数据库查询都将有一个边界框作为输入,而作为输出我希望该数据库中的所有形状。我知 Prop 有空间索引的数据库用于此类应用程序。但在我的应用程序中,不会有任何类型的查询“给我附近的 x/y 对象”或其他在 GIS 应用程序中有用的更复杂的查询。

我计划拥有一个没有空间索引的数据库,查询看起来像:

SELECT * FROM shapes WHERE x < max_x AND x > min_x AND y < max_y AND y > min_y

并且在 x (double)y (double) 列上有一个 index。据我所知,我真的不需要带有空间索引的数据库,无论我的应用程序如何接近那种应用程序。

即使我想要附近的查询,我也可以围绕该点创建一个足够大的边界框。或者这会导致性能不佳吗?

我真的需要空间数据库吗?什么时候需要空间索引?

编辑:搜索查询实际上会比我上面写的更高级一点,因为我处理的是几何形状,所以我将输入一个边界框,它将返回多个形状(带边界框),这些形状位于内部或干扰中的框询问。但在阅读了所有好的答案之后,我仍然认为我可以在没有空间索引的情况下做到这一点。

最佳答案

Do I really need a spatial database?

看起来您正在做的事情很适合您的应用程序。

And even if I would like to have nearby queries, then I could create a big enough bounding box around that point.

您可能需要考虑在 Geohash 上创建索引反而。建议使用此方法为 Google App Engine 上的地理空间点编制索引,例如,在索引功能有限的情况下。 ( Source )

And when is a spatial index needed?

空间索引在很多情况下都很有用。首先,空间索引不仅可以处理点,还可以处理折线、多边形和其他形状。此外,正如您已经提到的,有许多复杂的查询操作可以应用于空间数据,其中适当的空间索引是必不可少的。

关于database - 我的数据库中需要空间索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2556933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com