私のSQL-Server 2008 R2には、SQLクエリがあります:
SELECT
IceCrossing.WaterwayName as WaterWayName,
IceCrossing.Segment_ID as Segment_ID,
the_geom = Track.Track
FROM dbo.IceCrossing
LEFT JOIN Track ON IceCrossing.Segment_ID=Track.Segment_ID
そこで、IceCrossing からすべての行を選択したいのですが、Track に同じ Segment_ID を持つ行が存在する場合は、結果に表示されます。そして、JOINに問題があります。そのクエリは4〜5秒で機能し、260行が返されます。私はそれを変更しようとしました:
SELECT
IceCrossing.WaterwayName as WaterWayName,
IceCrossing.Segment_ID as Segment_ID,
the_geom = Track.Track
FROM dbo.Track
RIGHT JOIN IceCrossing ON Track.Segment_ID=IceCrossing.Segment_ID
でも同時。
データベースとテーブル構造を何もせずに高速化することは可能ですか?
アップデート
より詳しい情報。
トラック - 209 行。
アイスクロッシング - 259 行。Segment_ID type - [uniqueidentifier]
このインデックスについて知るには?
更新2
現場での問題をどのように理解するかthe_geom
。クエリ:
SELECT
IceCrossing.WaterwayName as WaterWayName,
IceCrossing.Segment_ID as Segment_ID,
FROM dbo.IceCrossing
LEFT JOIN Track ON IceCrossing.Segment_ID=Track.Segment_ID
1 秒以内に動作します。
the_geom タイプ - 非常に長い文字列のようなジオメトリです。
この場合、どうすればよいですか?