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ź
MBR
wektoró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.