当前位置: 首页 > 面试题库 >

Postgres空间索引

华良才
2023-03-14
问题内容

我似乎找不到太多的文档。在支持这种查询的PostgreSQL上创建数据库/表的最简单方法是什么?SELECT * FROM table WHERE
distance(POINT(0,0),table.location)<= 1000m;
其中POINT(0,0)和table.location应该是经度/纬度对,并且1000m是1000米。我应该如何索引该表?谢谢。


问题答案:

PostgreSQL支持表达式的索引以及部分索引,您可以将它们混合使用。

这只是一个随机的猜测,我不知道它是否有效,但请尝试一下:

CREATE INDEX foobar ON table (distance(POINT(0,0), location))
 WHERE distance(POINT(0,0), location) <= 1000;

http://www.postgresql.org/docs/9.0/interactive/indexes-
expressional.html

http://www.postgresql.org/docs/9.0/interactive/indexes-
partial.html



 类似资料:
  • 我有一个Postgres函数,它返回一个表“RestURNS TABLE......” 代码中有一些商业规则。如果不满足某些条件,我只想返回一个空记录集。有没有简单的方法?或者我需要为返回的每个列选择一个NULL吗? 现在,若我尝试只返回NULL,它会抱怨:错误:查询的结构和函数结果类型不匹配。

  • 在我的一个项目中,我有一个表,其中保存了某种设备的固件更新信息。最初,任何固件更新进程都处于排队状态。更新过程可能有其他状态值,例如正在进行、已完成、失败。对于单个设备,可能存在状态为“已完成”和“已失败”的多行(已完成的更新过程,最终状态!)。但在任何时候,处于排队或正在进行状态的每个设备都必须只有一个更新过程——新固件的推出应该只适用于没有“活动/非最终”更新过程的设备。我试图用Postgre

  • 如何计算弹性搜索服务器磁盘空间,每天4TB日志需要多少节点。 需要多少磁盘空间存储在弹性搜索索引中? 如何计算节点数? 索引是否压缩? 在LogStash的行格式中存储10G日志需要多少磁盘空间? 索引是否压缩? 如果节点配置为使用5个碎片,则以下是真还是假,以及为什么 存储10G日志需要50G磁盘空间来存储5个分片节点吗?

  • 或者使用SRID 26986······

  • 问题内容: 我正在使用Hibernate 4.0将jpegs存储到postgres 9.1.4中(jdbc是postgresql-9.1-901.jdbc4.jar)bytea列(byte []是hibernate实体,没有额外的类型def)。 hibernate存储过程工作正常,因为我可以使用数据库工具来转储bytea列并仍然获取jpeg。基本上是: 在managedBean中 此时,字节看起来

  • 我有一个ionic应用程序,它将json数据发送到使用laravel作为后端的api。 当发送请求到我的路由时,我在控制器上调用一个方法... 然后,该控制器获取数据并将其输入数据库,但有时并非所有从ionic应用程序发送的数据都在数据库中。 也就是说,我的laravel应用程序正在等待名字,姓氏,公司,有时我的离子应用程序只会发送first_name,last_name意味着公司的索引丢失。 如