也许我的问题看起来很愚蠢,但我想问一下是否有人可以告诉我如何改进这个查询:
UPDATE twitter
SET poi=poi.type_name FROM poi
WHERE ST_Within (ST_SetSRID(ST_MakePoint(x_coords,y_coords),4326),
ST_SetSRID(ST_Buffer(poi.wkb_geometry, 0.0005),4326));
我有 2 个带有点的表:“ twitter”和“ poi”,我需要在“ ”周围创建一个 50m 的缓冲区,poi并找到twitter该缓冲区内的所有“”点,然后将“ type_name”的“”属性复制poi到“ twitter”点。问题是查询持续时间太长,似乎永远不会完成,有时我会尝试检查是否复制了某些属性,但“ twitter.poi”列始终为空。
我试图通过添加WHERE " username"来限制查询,以检查查询是否正确并且有效。
UPDATE twitter
SET poi=poi.type_name FROM poi
WHERE uname='some_username' AND ST_Within (ST_SetSRID(ST_MakePoint(x_coords,y_coords),4326),
ST_SetSRID(ST_Buffer(poi.wkb_geometry, 0.0005),4326));
我唯一不明白的一件事是如何改进对整个“ twitter”表的查询。