Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Beschleunigen Sie Textvergleiche (Feature-Vektoren) mit räumlichen MySQL-Features

Während R-Trees generell kann MySQL Daten mit beliebig vielen Dimensionen indizieren räumliche Fähigkeiten sind nur auf Geometry beschränkt Typen (2 Abmessungen).

Wenn Ihre Vektoren 2 sind -dimensionale und Sie können sie normalisieren, dann gehen Sie wie folgt vor:

  • Teilen Sie den Kreis in die doppelte Anzahl von Winkeln auf, die zu Ihren Unterschieden passen
  • Suchen Sie den MBR von Vektoren mit gegebener Kosinusdifferenz von der Mitte jedes Sektors
  • Alle Vektoren im MBR finden
  • Führen Sie die Feinfilterung für den genauen Unterschied durch.

In diesem Fall ist es jedoch besser, nur den Winkel des Werts vorzuberechnen und ihn mit einem einfachen B-Tree zu indizieren index.