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

Các hàm được lưu trữ trong Mysql và tối thiểu theo nhóm

Tối đa theo nhóm không được đảm bảo hoạt động. Trên thực tế, MariaDB đã phá vỡ nó, nhưng đã cung cấp một cài đặt để lấy lại nó. Đây là những gì tôi đang đề cập đến:

SELECT  *
    FROM  
      ( SELECT  ...  ORDER BY ... )
    GROUP BY ...

nơi bạn muốn đầu tiên (hoặc cuối cùng) trong mỗi nhóm từ truy vấn bên trong. Vấn đề là SQL miễn phí để tối ưu hóa ý định đó.

Mã tối đa theo nhóm trong tài liệu rất kém hiệu quả.

Để tăng tốc độ truy vấn, một chút trợ giúp có thể là tách Rules hoặc Places một phần của mệnh đề WHERE và biến điều đó thành truy vấn con chỉ trả về TỪ KHÓA CHÍNH của bảng tương ứng. Sau đó, đặt nó vào một JOIN với tất cả các bảng (bao gồm một JOIN trở lại cùng một bảng). Bạn đã có "chỉ mục bao hàm" cho truy vấn con đó để truy vấn đó có thể là "Sử dụng chỉ mục" (trong biệt ngữ được EXPLAIN sử dụng).

Innodb_buffer_pool_size có được đặt thành khoảng 70% RAM khả dụng không?

BIGINT chiếm 8 byte; bạn có thể sống với MEDIUMINT UNSIGNED (0..16M). Nhỏ hơn -> nhiều bộ nhớ đệm hơn -> ít I / O hơn -> nhanh hơn.

Cặp DOUBLE cho vĩ độ / lng chiếm 16 byte. Một cặp FLOAT sẽ có 8 byte và có độ phân giải 6 foot / 2m. Hoặc DECIMAL (6,4) cho vĩ độ và (7,4) cho kinh độ cho 7 byte và độ phân giải 52 foot / 16m. Đủ tốt cho "cửa hàng", đặc biệt vì bạn đang sử dụng 'hình vuông' thay vì 'hình tròn' cho khoảng cách.

Mã cho "tìm gần nhất ..." khó tối ưu hóa. Đây là điều tốt nhất tôi nghĩ ra: http://mysql.rjweb.org/doc .php / latlng




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi 2002 Kết nối bị từ chối trên PHP kết nối với MySQL chạy trên MAMP

  2. MySQL:Làm thế nào để xác định mối quan hệ khóa ngoài theo chương trình?

  3. Có thể cho ứng dụng PHP được xây dựng trên bộ mã hóa để kết nối với cơ sở dữ liệu MySQL VÀ mongoDB cùng một lúc không?

  4. Truy vấn MySQL Not IN đột ngột dừng trả về kết quả

  5. CodeIgniter Active Record chèn từ bảng này sang bảng khác