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

InnoDB chèn rất chậm và làm chậm

InnoDB cung cấp cấu trúc khóa phức tạp hơn MyIsam (FOREIGN KEYS ) và việc tạo lại các khóa thực sự chậm trong InnoDB. Bạn nên đính kèm tất cả các câu lệnh cập nhật / chèn vào một giao dịch (các câu lệnh này thực sự khá nhanh trong InnoDB, trước đây tôi có khoảng 300 000 truy vấn chèn trên bảng InnoDb với 2 chỉ mục và mất khoảng 30 phút, cứ sau mỗi 10 000 lần chèn thì tôi lại thêm vào BEGIN TRANSACTIONCOMMIT mất chưa đầy 2 phút).

Tôi khuyên bạn nên sử dụng:

BEGIN TRANSACTION;
SELECT ... FROM products;
UPDATE ...;
INSERT INTO ...;
INSERT INTO ...;
INSERT INTO ...;
COMMIT;

Điều này sẽ khiến InnoDB làm mới các chỉ mục chỉ một lần chứ không phải vài trăm lần.

Hãy cho tôi biết nếu nó hoạt độ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. MySqli Lệnh không đồng bộ; bạn không thể chạy lệnh này bây giờ

  2. Mật khẩu băm bằng crypt không hoạt động khi đăng nhập, nó hiển thị sai mật khẩu

  3. Nhập cơ sở dữ liệu MySQL từ máy chủ này sang máy chủ khác

  4. Tham gia trên các cột thuộc loại khác nhau?

  5. Nó có nghĩa là gì để thoát khỏi một chuỗi?