我有一个包含大约300万条记录的表,其中包含lat和long。我想要比较每个记录之间的距离,以检查哪个记录可能是相同的地方或附近的地方。
对于小的测试表,我使用交叉连接和距离函数,但对于这个3m表,交叉连接是问题所在。
你有什么建议或解决方案吗?
发布于 2021-02-07 14:22:12
但是对于这个3m的表,交叉连接是问题所在。..。有什么建议...?
您可以使用ST_CLUSTERDBSCAN将记录划分为多个集群,然后将不是所有3M记录彼此交叉连接,而是仅将同一分区/集群内的记录交叉连接
下面是如何聚类地理点的示例
ST_CLUSTERDBSCAN(ST_GEOGPOINT(longitude, latitude), 5000, 1) over() clusterhttps://stackoverflow.com/questions/66084096
复制相似问题