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

Tại sao việc chèn / cập nhật MySQL InnoDB trên các bảng lớn rất chậm khi có một vài chỉ mục?

Có vẻ như nó cũng vậy

  • Chỉ số không cân bằng theo thời gian
  • Phân mảnh đĩa
  • Phân mảnh (các) tệp dữ liệu innodb nội bộ

Bạn có thể thử analyze table foo không mất khóa, chỉ một vài chỉ mục lặn và mất vài giây.

Nếu cách này không khắc phục được, bạn có thể sử dụng

mysql> SET PROFILING=1;
mysql> INSERT INTO foo ($testdata);
mysql> show profile for QUERY 1;

và bạn sẽ thấy phần lớn thời gian được sử dụng.

Rõ ràng innodb hoạt động tốt hơn khi thực hiện chèn theo thứ tự PK, đây có phải là trường hợp của bạn khô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. MySQL &PHP:Tìm kiếm nhiều từ khóa

  2. Chúng ta có thể thực thi truy vấn SQL trong JQuery không

  3. Tìm nạp bản ghi từ một bảng mà không có bản ghi trong bảng khác

  4. Kết nối Java - MySQL:Không cho phép truy xuất khóa công khai

  5. Chỉ đọc bảng trong mysql