Câu trả lời dứt khoát duy nhất là thử cả hai và kiểm tra và xem điều gì xảy ra.
Nói chung, MyISAM nhanh hơn để viết và đọc, nhưng không phải cả hai cùng một lúc. Khi bạn viết vào một bảng MyISAM toàn bộ bảng bị khóa cho chèn để hoàn thành. InnoDB có chi phí cao hơn nhưng sử dụng khóa cấp hàng để đọc và ghi có thể xảy ra đồng thời mà không có các vấn đề mà bảng MyISAM bị khóa.
Tuy nhiên, vấn đề của bạn, nếu tôi hiểu chính xác, có một chút khác biệt. Chỉ có một cột, cột đó là khóa chính có cân nhắc quan trọng theo các cách khác nhau mà MyISAM và InnoDB xử lý các chỉ mục khóa chính.
Trong MyISAM, chỉ mục khóa chính giống như bất kỳ chỉ mục phụ nào khác. Bên trong mỗi hàng có một id hàng và các nút chỉ mục chỉ trỏ đến các id hàng của các trang dữ liệu. Một chỉ số khóa chính không được xử lý khác với bất kỳ chỉ mục nào khác. Trong InnoDB, tuy nhiên, khóa chính được nhóm lại, có nghĩa là chúng được gắn với các trang dữ liệu và đảm bảo rằng nội dung hàng vẫn được sắp xếp theo thứ tự vật lý trên đĩa theo khóa chính (nhưng chỉ trong các trang dữ liệu đơn lẻ) có thể được phân tán theo bất kỳ thứ tự nào.Đây là trường hợp, tôi hy vọng rằng InnoDB có thể có lợi thế trong đó MyISAM về cơ bản sẽ phải làm việc gấp đôi - viết số nguyên một lần vào các trang dữ liệu, sau đó viết lại vào các trang chỉ mục. InnoDB sẽ không làm điều này, chỉ số khóa chính sẽ giống hệt với các trang dữ liệu và sẽ chỉ phải viết một lần. Nó sẽ chỉ phải quản lý dữ liệu ở một nơi, nơi mà MyISAM sẽ không cần thiết phải quản lý hai bản sao.
Đối với một trong hai công cụ lưu trữ, hãy thực hiện điều gì đó như min() hoặc max() không đáng kể trên cột được lập chỉ mục hoặc chỉ kiểm tra sự tồn tại của một số trong chỉ mục. Vì bảng chỉ là một cột nên không cần tra cứu dấu trang vì dữ liệu sẽ được đại diện hoàn toàn trong chính chỉ mục đó. Đây sẽ là một chỉ số rất hiệu quả.
Tôi cũng sẽ không lo lắng về kích thước của bảng. Trường hợp chiều rộng của một hàng chỉ là một số nguyên, bạn có thể phù hợp với một số lượng lớn các hàng trên mỗi trang chỉ mục/dữ liệu.
Nguồn
2008-12-13 22:14:57
Bạn có thể cung cấp một số chi tiết về cách dữ liệu sẽ được truy cập không? –