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

Truy vấn MySQL rất chậm trên dữ liệu lớn

Bảng Tối ưu hóa

Để thiết lập đường cơ sở, trước tiên tôi khuyên bạn nên chạy OPTIMIZE TABLE lệnh trên cả hai bảng. Xin lưu ý rằng điều này có thể mất một chút thời gian. Từ tài liệu :

Lập chỉ mục

Nếu quản lý không gian và chỉ mục không phải là vấn đề, bạn có thể thử thêm chỉ mục tổng hợp trên

product_categories.cat4, product_categories.cat3, product_categories.cat2, product_categories.cat1

Điều này sẽ được khuyên nếu bạn sử dụng tập hợp con ngoài cùng bên trái của các cột này thường xuyên trong các truy vấn của bạn. Kế hoạch truy vấn chỉ ra rằng nó có thể sử dụng cat1 chỉ mục của product_categories . Điều này rất có thể chỉ bao gồm cat1 cột. Bằng cách thêm tất cả bốn cột danh mục vào một chỉ mục, nó có thể tìm kiếm hàng mong muốn hiệu quả hơn. Từ tài liệu :

Cấu trúc

Hơn nữa, do bảng của bạn có 90 cột bạn cũng nên biết rằng bảng rộng hơn có thể dẫn đến hiệu suất truy vấn chậm hơn . Bạn có thể muốn xem xét Phân vùng theo chiều dọc bảng của bạn thành nhiều bảng:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đặt một truy vấn SQL trong một hàm PHP

  2. Bỏ qua tiêu chí WHERE cụ thể

  3. Hiểu rõ hơn về các vấn đề của SQLalchemy's `yi_per () '

  4. Cách đồng bộ hóa cơ sở dữ liệu SQLServer và cơ sở dữ liệu MySQL

  5. lập danh sách công việc yêu thích bằng PHP và MYSQL