Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

meningkatkan kinerja pada kueri SELECT dengan kumpulan data titik 3D yang besar

B-Tree indeks tidak akan banyak membantu untuk kueri semacam itu.

Apa yang Anda butuhkan sebagai R-Tree indeks dan kueri paralelepiped pembatas minimal di atasnya.

Sayangnya, MySQL tidak mendukung R-Tree indeks di atas 3d poin, hanya 2d . Namun, Anda dapat membuat indeks di atas, katakanlah, X dan Y bersama-sama yang akan lebih selektif daripada B-Tree indeks pada X dan Y sendirian:

ALTER TABLE points ADD xy POINT;

UPDATE  points
SET     xy = Point(x, y);

ALTER TABLE points MODIFY xy POINT NOT NULL;


CREATE SPATIAL INDEX sx_points_xy ON points (xy);

SELECT  *
FROM    points
WHERE   MBRContains(LineString(Point(100, 100), Point(200, 200), xy)
        AND z BETWEEN 100 and 200
        AND otherParameter > 10;

Ini hanya mungkin jika tabel Anda MyISAM .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah menambahkan dua kolom mysql dan mengembalikan total

  2. Hubungkan aws ec2 mysql dengan aplikasi java lokal saya

  3. Hubungkan MySQL dengan Python 3.6

  4. SQL Di mana kolom APAPUN sama dengan nilai

  5. MySQL 8 Menghitung Rata-Rata dengan Mempartisi Berdasarkan Tanggal