大量データ処理?


これと同じことをSQL Serverでやってみた

街区レベル位置参照は全国
https://jpusergis.wordpress.com/2014/02/04/街区レベル位置参照のsql-server取り込み/

適当だが街区点
13,796,157 件 (1千3百79万件ほど)

市区町村:
1902件 (2990図形 / 553,339頂点)

結果は数かぞえるだけだが、6分37秒

街区:272,693件 (27万件)
市区町村:6,779件
で下記結果らしい。
2分28秒
7分41秒

HWスぺックもだいぶ違うし、件数がちがうので一概に言えないがSQL Serverの圧勝?
もう少し整合性確認してみるか。

i5-3427U
8.0GB
W2K12R2
SQL2K14


DECLARE @id INT;
DECLARE @shp GEOMETRY;

DECLARE TMPCursor cursor FOR
SELECT
 gid,
 the_geom
FROM
 japan_ver71

 DECLARE @Table TABLE
 (
  id int PRIMARY KEY,
  cnt int NOT NULL
 );

 OPEN TMPCursor;

 FETCH NEXT FROM TMPCursor INTO @ID,@SHP;

 WHILE (@@fetch_status = 0)
 BEGIN
  DECLARE @cnt INT;
  SELECT @cnt = COUNT(*) FROM CITY_BLOCK WHERE SHAPE.STIntersects(@shp) = 1;

  INSERT INTO @Table
   (id,cnt)
  VALUES
   (@id, @cnt);
  
 FETCH NEXT FROM TMPCursor INTO @ID,@SHP;
END

CLOSE TMPCursor;
DEALLOCATE TMPCursor;

SELECT * FROM @Table;
カテゴリー: 設計 タグ: パーマリンク