Tôi đang chạy MySQL5.5 với bản sao Master / Slave (1 chủ, 2 nô lệ).
Tôi có một quy trình chạy mỗi tuần một lần và cắt bớt một bảng cụ thể. Bảng không lớn và chỉ có vài nghìn hồ sơ.
Vì một số lý do, TRUNCATE TABLE
lệnh mất rất nhiều thời gian để thực thi (cả trên chủ và trên nô lệ). Phải mất khoảng 400K ms để thực thi !! Khi nó chạy trên nô lệ, nó làm cho nó bị lag từ Master. Sau khi TRUNCATE TABLE
kết thúc, mọi thứ trở lại bình thường.
Tôi biết rằng một trong những nô lệ đã không nhận được bất kỳ lần đọc nào trong khi thực hiện TRUNCATE TABLE
vì một nô lệ chuyên dụng và quá trình đọc từ nô lệ đó đã bị hủy bỏ. Ngoài ra, trên nô lệ này, phải mất cùng thời gian để thực hiện.
Đây là cấu trúc bảng: http://pastebin.com/qEQB4juR
Bạn có suy nghĩ gì về cách tôi có thể tăng tốc BẢNG TRUNCATE không?