Während R-Trees generell kann MySQL Daten mit beliebig vielen Dimensionen indizieren räumliche Fähigkeiten sind nur auf Geometry beschränkt Typen (2 Abmessungen).
Wenn Ihre Vektoren 2 sind -dimensionale und Sie können sie normalisieren, dann gehen Sie wie folgt vor:
- Teilen Sie den Kreis in die doppelte Anzahl von Winkeln auf, die zu Ihren Unterschieden passen
- Suchen Sie den
MBRvon Vektoren mit gegebener Kosinusdifferenz von der Mitte jedes Sektors - Alle Vektoren im
MBRfinden - Führen Sie die Feinfilterung für den genauen Unterschied durch.
In diesem Fall ist es jedoch besser, nur den Winkel des Werts vorzuberechnen und ihn mit einem einfachen B-Tree zu indizieren index.