Mentre R-Trees
in generale può indicizzare dati con un numero arbitrario di dimensioni, MySQL
le abilità spaziali sono limitate solo a Geometry
tipi (2
dimensioni).
Se i tuoi vettori sono 2
-dimensionale e puoi normalizzarli, quindi procedere come segue:
- Dividi il cerchio nel doppio del numero di angoli che corrispondono alle tue differenze
- Trova il
MBR
di vettori con data differenza di coseno dal centro di ogni settore - Trova tutti i vettori all'interno del
MBR
- Esegui il filtraggio fine per la differenza esatta.
In questo caso, però, sarà meglio solo precalcolare l'angolo del valore e indicizzarlo con un semplice B-Tree
indice.