Medan R-Trees
i allmänhet kan indexera data med godtyckligt antal dimensioner, MySQL
rumsliga förmågor är endast begränsade till Geometry
typer (2
dimensioner).
Om dina vektorer är 2
-dimensionella och du kan normalisera dem och sedan göra följande:
- Dela cirkeln i dubbelt så många vinklar som passar dina skillnader
- Hitta
MBR
av vektorer med given cosinusskillnad från mitten av varje sektor - Hitta alla vektorer inom
MBR
- Gör finfiltreringen för exakt skillnad.
I det här fallet är det dock bättre att bara prekakulera vinkeln på värdet och indexera det med ett vanligt B-Tree
index.