You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake中单点执行ST_TRANSFORM()为何耗时过长?

米级半径地理点转圆形缓冲效率异常问题
  • 需求:将带米级半径的地理点转换为圆形区域,用于查询其他点是否落在该范围内,但当前转换操作耗时极久
  • 操作流程:以英国经纬度点(-0.144407, 51.489420)为例,执行以下步骤:
    1. 通过ST_TRANSFORM将点从WGS84(4326)坐标系转换为英国国家格网(27700)米制坐标系
    2. 用ST_BUFFER做10米缓冲生成圆形
    3. 再次通过ST_TRANSFORM转回4326坐标系
  • 异常情况:该查询运行约5分钟后被终止,本地计算可快速完成,推测操作存在问题;其他查询正常,排除数据库整体性能问题
  • 当前替代方案:采用两两计算距离的方式实现需求,但认为该方式效率远低于使用ST_CONTAINS的空间查询

执行代码

select 
    st_makegeompoint(-0.144407, 51.489420) as pt
    , st_transform(
        st_buffer(
            st_transform(
                pt, 4326, 27700)
            , 10)
        , 27700, 4326) as circle

内容的提问来源于stack exchange,提问作者isaac_r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 12:59:54