Zatímco R-Trees
obecně může indexovat data s libovolným počtem dimenzí, MySQL
prostorové schopnosti jsou omezeny pouze na Geometry
typy (2
rozměry).
Pokud jsou vaše vektory 2
-dimenzionální a můžete je normalizovat a poté proveďte následující:
- Rozdělte kruh na dvojnásobný počet úhlů, které odpovídají vašim rozdílům
- Najděte
MBR
vektorů s daným kosinovým rozdílem od středu každého sektoru - Najděte všechny vektory v
MBR
- Pro přesný rozdíl proveďte jemné filtrování.
V tomto případě však bude lepší pouze předem vypočítat úhel hodnoty a indexovat jej pomocí obyčejného B-Tree
index.