it-swarm-vi.tech

Tăng tốc các bãi chứa và nhập khẩu mysql

Có bất kỳ kỹ thuật tài liệu nào để tăng tốc độ nhập và nhập myQuery không?

Điều này sẽ bao gồm các cài đặt my.cnf, sử dụng ramdisks, v.v.

Chỉ tìm kiếm các kỹ thuật tài liệu, tốt nhất là với điểm chuẩn cho thấy tiềm năng tăng tốc.

51
deadprogrammer

http://www.maatkit.org/ có mk -allel-dump và mk -allel-restore

Nếu bạn đã mong muốn mysqldump đa luồng, không muốn nữa. Công cụ này kết xuất các bảng MySQL song song. Đó là một mysqldump thông minh hơn nhiều, có thể hoạt động như một trình bao bọc cho mysqldump (với hành vi mặc định hợp lý) hoặc như một trình bao bọc xung quanh CHỌN VÀO RA NGOÀI. Nó được thiết kế cho các ứng dụng hiệu suất cao trên kích thước dữ liệu rất lớn, trong đó tốc độ rất quan trọng. Nó tận dụng nhiều CPU và đĩa để kết xuất dữ liệu của bạn nhanh hơn nhiều.

Ngoài ra còn có nhiều tùy chọn tiềm năng khác nhau trong mysqldump như không tạo chỉ mục trong khi bãi chứa đang được nhập - mà thay vào đó, chúng thực hiện hàng loạt khi hoàn thành.

15
Alister Bulman
  1. Nhận một bản sao của MySQL hiệu suất cao. Cuốn sách tuyệt vời.
  2. Chèn mở rộng trong bãi
  3. Kết xuất với định dạng --tab để bạn có thể sử dụng mysqlimport, nhanh hơn mysql <dumpfile
  4. Nhập với nhiều chủ đề, một cho mỗi bảng.
  5. Sử dụng một công cụ cơ sở dữ liệu khác nhau nếu có thể. nhập khẩu vào một công cụ giao dịch nặng nề như innodb là rất chậm. Chèn vào một công cụ không giao dịch như MyISAM nhanh hơn nhiều.
  6. Nhìn vào tập lệnh so sánh bảng trong bộ công cụ Maakit và xem liệu bạn có thể cập nhật các bảng của mình thay vì bỏ chúng và nhập chúng không. Nhưng có lẽ bạn đang nói về sao lưu/khôi phục.
24
JBB

Nếu bạn đang nhập vào InnoDB, điều hiệu quả nhất bạn có thể làm là đặt

innodb_flush_log_at_trx_commit = 2

trong my.cnf của bạn, tạm thời trong khi quá trình nhập đang chạy. Bạn có thể đặt nó trở lại 1 Nếu bạn cần ACID.

13
Aleksandar Ivanisevic

Tôi đoán câu hỏi của bạn cũng phụ thuộc vào nơi tắc nghẽn là:

  • Nếu mạng của bạn là nút cổ chai, bạn cũng có thể xem -C/--compress gắn cờ thành mysqldump.
  • Nếu máy tính của bạn hết bộ nhớ (tức là bắt đầu hoán đổi), bạn nên mua thêm bộ nhớ.

Ngoài ra, hãy xem --quick cờ cho mysqldump (và --disable-keys nếu bạn đang sử dụng MyIsam).

5
Ztyx

Sử dụng chèn mở rộng trong bãi chứa sẽ làm cho nhập khẩu nhanh hơn.

4
che

tắt kiểm tra khóa ngoại và bật tự động xác nhận.

4
longneck

mysqlhotcopy cũng có thể là một lựa chọn thay thế cho bạn nếu bạn chỉ có các bảng MyIsam.

1
Ztyx