(Lưu ý:Câu trả lời này làm rõ hoặc không đồng ý với một số nhận xét đã được viết.)
DELETEs
bị chậm lại vì xóa các mục nhập chỉ mục. UPDATEs
may bị chậm lại - điều này phụ thuộc vào việc một cột được lập chỉ mục có được thay đổi hay không.
SELECTs
, UPDATEs
và DELETEs
, nhưng không phải INSERTs
, cần tìm (các) hàng; đối với điều này, một chỉ mục có thể giúp ích rất nhiều.
INSERT
sẽ bị tổn hại thêm một khoản tiền nếu có UNIQUE
chỉ mục để kiểm tra.
Các khóa phụ (trong InnoDB), ngoại trừ cho UNIQUE
khóa, được cập nhật (thường là do INSERT
và DELETEs
, nhưng có thể do UPDATE
) theo cách 'bị trì hoãn' thông qua cái được gọi là "Bộ đệm thay đổi". Điều này giúp ngăn chặn việc cập nhật chỉ mục một cách hiệu quả, nhưng vẫn giữ cho chỉ mục hoàn toàn có thể sử dụng được.
Không có điều nào trong số này bị ảnh hưởng bởi thứ tự của các cột trong một chỉ mục. Tuy nhiên, nếu một chỉ mục lớn hơn mức có thể được lưu vào bộ nhớ cache trong RAM, thì "bộ nhớ đệm" sẽ phát huy tác dụng và I / O có thể có hoặc có thể không tham gia. Nhưng đó là một chủ đề khác.
Nói chung là lợi ích từ một chỉ mục để đọc vượt xa hơn nhiều làm chậm các hoạt động ghi.