誕生日のピエロのデータベースがあるとします。このデータベースには、各ピエロがいるポイント (ピエロの自宅住所の緯度と経度から生成されます) のバイナリ表現を含む地理列が含まれています。geography 列に geo-index があります。
国際的な大手ソフトウェア会社の CEO が、米国内の全従業員と住所 (緯度と経度を含む) の CSV ファイルを送信してきました。従業員ごとに、15 マイル以内に誕生日のピエロが何人いるかを示すレポートを生成する必要があります。
where 条件は次のようになります。
where
(ClownLocationInBinary).STDistance( geography::Point(EES.lat, EES.lng, 4326) ) < radius
またはこのように:
where
geography::Point(EES.lat, EES.lng, 4326).STDistance(ClownLocationInBinary) < radius
両方の where 句は、BirthdayClowns テーブルで作成したインデックスを利用するでしょうか? それとも、一方はそれを使用し、もう一方は使用していませんか? もしそうなら、どれがどれですか?