Mysql
 sql >> Database >  >> RDS >> Mysql

Accelera i confronti di testo (vettori di funzionalità) con le funzionalità spaziali di MySQL

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.