Podczas gdy R-Trees ogólnie może indeksować dane z dowolną liczbą wymiarów, MySQL możliwości przestrzenne są ograniczone tylko do Geometry typy (2 wymiary).
Jeśli twoje wektory to 2 -wymiarowe i możesz je znormalizować, a następnie wykonaj następujące czynności:
- Podziel okrąg na podwójną liczbę kątów, które pasują do twoich różnic
- Znajdź
MBRwektorów o zadanej różnicy cosinusów od środka każdego sektora - Znajdź wszystkie wektory w
MBR - Wykonaj dokładne filtrowanie, aby uzyskać dokładną różnicę.
W tym przypadku jednak lepiej będzie po prostu wstępnie obliczyć kąt wartości i zaindeksować ją zwykłym B-Tree indeks.