0

私は 300 万の企業レコードを含む SQL Server 2012 データベースを持っており、名前と住所のフィールドに where like 句を使用して検索できます。これはかなり速く動作します。

ここで、オプションのポイント + 距離パラメーターを使用してこのクエリを拡張しています。これらのパラメーターが使用されると、クエリはそれらを使用します。

これで、列だけを検索するvarchar作業が非常に高速になりました。緯度/経度(ポイント)+距離だけでの検索も高速です。しかし、2つを組み合わせると、非常に遅くなります。

私が間違っている可能性があること、またはインデックスをどのように設定する必要があるかについて何か考えはありますか?

今、私はこれらのインデックスを持っています:

PK_CompanyId (主キーに付属する標準インデックス)

IX_CompanyData (検索されている VARCHAR フィールドのインデックス。このインデックスには含まれる列に Lat & Long 列があります)

4

1 に答える 1

0

会社がリンクされている都市の緯度/経度の値で検索結果を最初に絞り込むことで、問題の解決を開始しました。これにより、パフォーマンスに大きな違いが生じました。

于 2013-09-12T19:31:23.610 に答える