gpt4 book ai didi

postgresql - 用于在数据库中存储大量位置坐标的表模式

转载 作者:行者123 更新时间:2023-11-29 13:27:31 26 4
gpt4 key购买 nike

我需要存储大量位置坐标及其时间戳。这是当前表架构的样子:

User_ID, Location_Coordinate, Timestamp

每个用户都会被持续跟踪,并且会为每个用户生成大量位置坐标。有多个用户。有效存储此类数据的正确方法是什么?

我需要为每个用户检索过去 24 小时的数据。

最佳答案

最简单的方法是将其全部存储在一个表中,并使用 PostGIS geometry 列作为位置。什么是“高效”完全取决于你的应用。有几点需要考虑:

  • 如果您想存储每个用户的每个位置,请使用常规表。是否应该使用索引取决于插入次数(输入的新位置)和检索数据的方式。非常频繁的插入意味着必须经常更新索引;这是一种性能损失。
  • 如果您获得的位置多于应用程序所需的位置(例如,从 (GPS) 设备自动推送当前位置),那么您可能需要考虑使用不带索引的未记录表(因此插入速度非常快) ) 然后定期轮询该表以获取新记录,处理它们(即减少位置数量以仅存储相关的位置),并将处理后的数据永久存储在具有适当索引的另一个表中。 PostGIS 中有许多处理函数可用于此目的。保持未记录的表较小(定期轮询并删除已处理的数据),您就不会错过索引。然后,您将查询过去 24 小时的后一个表,并仅将未记录的表用于新收到的位置。

否则,您提供的信息有限,无法提供太多建议。使用更多详细信息编辑您的问题,您将获得更详细的答案。

关于postgresql - 用于在数据库中存储大量位置坐标的表模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31138889/

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