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

MYSQL Chèn tệp SQL khổng lồ có kích thước hàng GB

Vì bạn có ít hơn 50GB bộ nhớ (vì vậy bạn không thể đệm toàn bộ cơ sở dữ liệu trong bộ nhớ), nút cổ chai là tốc độ ghi của hệ thống con đĩa của bạn.

Thủ thuật để tăng tốc độ nhập:

  • MyISAM không phải là giao dịch, do đó, nhanh hơn nhiều trong các chèn luồng đơn. Cố gắng tải vào MyISAM rồi đến ALTER bảng thành INNODB
    • Sử dụng ALTER TABLE .. DISABLE KEYS để tránh cập nhật chỉ mục từng dòng (chỉ MyISAM)
    • Đặt bulk_insert_buffer_size cao hơn kích thước chèn của bạn (chỉ MyISAM)
    • Đặt unique_checks = 0 để các ràng buộc duy nhất không được kiểm tra.

Để biết thêm, hãy xem Tải dữ liệu hàng loạt cho Bảng InnoDB trong MySQL Manual .

Lưu ý :Nếu bảng gốc có các ràng buộc về khóa ngoại, sử dụng MyISAM làm định dạng trung gian là một ý tưởng tồi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Biến PHP và truy vấn MySQL LIKE không hoạt động

  2. chèn hoặc bỏ qua các mục trong truy vấn mysql dựa trên các điều kiện của kết quả

  3. tích hợp spring 3, hibernate 3, maven và mysql

  4. Tìm khoảng trống ngày với mysql

  5. Tự động cập nhật Sphinx có được lập chỉ mục khi bạn thêm dữ liệu vào SQL của mình không?