Điều này có thể phụ thuộc rất nhiều vào công cụ lưu trữ.
Đối với MyISAM, tôi nghĩ đó sẽ là một ý tưởng tuyệt vời vì bạn có thể tạo dữ liệu liền kề như bạn muốn. Điều đó sẽ có lợi cho các truy vấn liên quan đến hoạt động hàng loạt và quét phạm vi lớn. Bộ công cụ để nén và sửa chữa MyISAM để cải thiện định dạng bảng cũng có thể giúp truy cập tốt hơn một chút. IMHO đồng thời có thể phát triển mạnh trong một môi trường đĩa như vậy.
InnoDB là một câu chuyện hoàn toàn khác.
Nếu bạn bị vô hiệu hóa innodb_file_per_table , dữ liệu có thể được phân tán khắp ibdata1 và do đó nằm rải rác trong nhiều đĩa. Bạn có thể chạy BẢNG TỐI ƯU đối với bảng InnoDB và làm cho các trang dữ liệu và chỉ mục liền kề nhau, nhưng điều đó có thể gây ra hai vấn đề:
- Làm cho ibdata1 phát triển
- Hiệu suất giảm dần theo thời gian
Đừng quên bốn loại dữ liệu cư trú trong ibdata1:
- Bảng MetaData
- Bảng dữ liệu trang
- Trang dữ liệu chỉ mục
- Dữ liệu MVCC
Có dữ liệu MVCC liên tục để bảo vệ tính toàn vẹn dữ liệu. Ngoài ra còn có sự tương tác liên tục với ib_logfile0 và ib_logfile1 (làm lại nhật ký). Có dữ liệu liên tục tuôn ra cứ sau 10 giây từ Bộ đệm InnoDB trở lại. Nhìn chung, có thể an toàn khi nói rằng sự lan truyền dữ liệu trên nhiều đĩa và hiệu suất I / O có thể cho thấy sự cải thiện hiệu suất cận biên cho đến khi có đủ sự phân mảnh trong ibdata1.
Bây giờ, nếu innodb_file_per_table được bật, mọi thứ có thể phức tạp hơn một chút. Đây là lý do tại sao:
Khi bạn dọn sạch ibdata1 và tách tất cả các bảng InnoDB khỏi ibdata1 , bạn sẽ có một ibdata1 nhỏ hơn. Tuy nhiên, mỗi lần truy cập vào bảng InnoDB yêu cầu điều hướng sử dụng thông qua ibdata1 TẤT CẢ THỜI GIAN thông qua Siêu dữ liệu Bảng. Theo nghĩa đen, bạn không thể tách siêu dữ liệu bảng (ibdata1) khỏi bảng (.ibd). Bất cứ nơi nào ibdata1 sống, I / O đĩa luôn phải đi qua ibdata1.
Hiệu ứng tổng thể: Phân mảnh bảng được giới hạn ở các tệp .ibd và có thể được giảm và sắp xếp lại với BẢNG TỐI ƯU, nhưng không thực sự tăng cường hiệu năng I / O nào.
Điều gì về việc đặt tất cả các tệp .ibd vào một bộ đĩa khác ngoài ibdata1 và sử dụng symlink? Theo Percona, điều đó tạo ra nhiều tình trạng hỗn loạn .
PHẦN KẾT LUẬN
Khi nói đến việc sử dụng nhiều ổ đĩa trên một ổ đĩa, tôi rất ủng hộ MyISAM hơn InnoDB.