Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cần trợ giúp tối ưu hóa tìm kiếm địa lý vĩ độ / kinh độ cho mysql

Tôi nghĩ rằng bạn thực sự nên cân nhắc việc sử dụng PostgreSQL (kết hợp với Postgis).

Tôi đã từ bỏ MySQL cho dữ liệu không gian địa lý (hiện tại) vì những lý do sau:

  • MySQL chỉ hỗ trợ các kiểu dữ liệu không gian / chỉ mục không gian trên các bảng MyISAM với những nhược điểm cố hữu của MyISAM (liên quan đến các giao dịch, tính toàn vẹn của tham chiếu ...)
  • MySQL triển khai một số Thông số kỹ thuật OpenGIS chỉ trên cơ sở MBR (hình chữ nhật giới hạn tối thiểu), điều này vô ích cho quá trình xử lý truy vấn không gian nghiêm trọng nhất (xem liên kết này trong hướng dẫn sử dụng MySQL ). Rất có thể bạn sẽ sớm cần một số chức năng này.

PostgreSQL / Postgis với các chỉ mục không gian (GIST) thích hợp và các truy vấn thích hợp có thể cực kỳ nhanh.

Ví dụ :xác định đa giác chồng chéo giữa một lựa chọn đa giác 'nhỏ' và một bảng có hơn 5 triệu (!) đa giác rất phức tạp, tính số lượng chồng chéo giữa các kết quả này + sắp xếp. Thời gian chạy trung bình:từ 30 đến 100 mili giây (Máy cụ thể này có rất nhiều RAM. Đừng quên điều chỉnh cài đặt PostgreSQL của bạn ... (đọc tài liệu)).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách đúng để khử trùng đầu vào trong MySQL bằng PDO

  2. Làm thế nào để chạy cơ sở dữ liệu thử nghiệm của Django chỉ trong bộ nhớ?

  3. java.sql.Connection mở rộng cho SSH

  4. Hàm gọi MySqlCommand

  5. Python có hỗ trợ các câu lệnh chuẩn bị sẵn của MySQL không?