0

SQL データベースからポリゴン データを取得するクエリを作成しました。

結果を取得するために次のクエリがあります。

SELECT ZIP,
       NAME,
       STABB,
       AREA,
       TYPE,
       orgZc.OrganizationId,
       orgZc.[ZipCode] AS ORGzip,
       REPLACE(REPLACE(REPLACE(REPLACE(GEOM.STAsText(),'POLYGON ((',' '),'MULTIPOLYGON (((',' '),'))',''),')))','')AS WKT
FROM USZIP
INNER JOIN ORGANIZTION_ZIP_CODES orgZc ON orgZc.[ZipCode]=USZIP.zip
WHERE orgZc.OrganizationId=@ORGANIZATION_ID

このテーブルでは、以下のように空間インデックスを既に追加しています

CREATE SPATIAL INDEX SIndx_SpatialTable_geometry_col1 
ON USZIP(GEOM) WITH ( BOUNDING_BOX = ( -90, -180, 90, 180 ) );

しかし、2483 件のレコードを取得するのに 38 秒かかりました。誰でもこのクエリを最適化するのを手伝ってくれますか

4

2 に答える 2

0

解決策を見つけました。新しい列を追加し、更新しました REPLACE(REPLACE(REPLACE(REPLACE(GEOM.STAsText(),'POLYGON ((',' '),'MULTIPOLYGON (((',' '),'))','')) ,')))','')AS WKT これで、操作を行わずに、新しく追加された列から直接フェッチできます。現在、2483 レコードを取得するのに 3 秒かかっています

于 2013-09-04T06:09:46.997 に答える