也许我的问题看起来很愚蠢,但我想问一下是否有人可以告诉我如何改进这个查询:
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
”表的查询。