Index là một cấu trúc dữ liệu riêng, đã sắp xếp (một B-tree trong InnoDB) giúp MySQL tìm row mà không phải quét cả table. Không có index, một lần tra cứu đọc mọi row (một full table scan); có index, nó đi qua cây chỉ vài bước.
Primary so với secondary
Trong InnoDB, bản thân table chính là index của primary key — một clustered index. Row được lưu vật lý theo thứ tự primary key, nên tra cứu theo primary key rơi thẳng vào nguyên row.
Một là một B-tree riêng, key theo (các) cột khác. Leaf node của nó lưu giá trị được index cộng với , nên dùng secondary index thường tốn thêm một lần tra cứu ("quay lại clustered index") để lấy nốt phần còn lại của row.
