1

BOUNDING に対する SPATIAL の利点

境界ボックスを利用した単純な MySQL クエリではなく、SPATIAL クエリを使用する利点は何ですか?

たとえば、特定のポリゴン内にあるすべての場所を検索したい場合:

このようなもの:

境界ボックスの例

SELECT * FROM geoplaces 
WHERE geolat BETWEEN ? AND ?
AND geolng BETWEEN ? AND ?

私が理解しているように、唯一の本当の利点は、空間も地球の曲率を考慮に入れるということですか?

また、どの方法が最速ですか?

4

1 に答える 1

4

利点:

  1. 点や四角形以外の形状、「is-in」以外の操作を使用できます。
  2. SPATIAL インデックスを使用できる場合、パフォーマンスは桁違いに向上します (もちろん、データのサイズと性質によって異なります)。

短所:

  1. 空間オブジェクトはバイナリ ブロブです。取り扱いには注意が必要です (たとえば、通常、値をコピーして貼り付けることはできません)。
  2. mySQL の空間インデックスは、MyISAM テーブルでのみ使用できます。
  3. mySQL でのサポートはやや原始的です。多くの操作はまだ実装されていません

データベースが大きく、例のような検索を高速にする必要がある場合は、間違いなく SPATIAL インデックスを使用する必要があります。

于 2011-03-27T23:50:40.417 に答える