KEY
và INDEX
là các từ đồng nghĩa trong MySQL. Chúng có nghĩa giống nhau. Trong cơ sở dữ liệu, bạn sẽ sử dụng các chỉ mục
để cải thiện tốc độ truy xuất dữ liệu. Chỉ mục thường được tạo trên các cột được sử dụng trong JOIN
, WHERE
và ORDER BY
điều khoản.
Hãy tưởng tượng bạn có một bảng được gọi là users
và bạn muốn tìm kiếm tất cả những người dùng có họ 'Smith'. Nếu không có chỉ mục, cơ sở dữ liệu sẽ phải xem qua tất cả các bản ghi của bảng:điều này là chậm, vì bạn càng có nhiều bản ghi trong cơ sở dữ liệu của mình, thì nó càng phải làm nhiều việc để tìm ra kết quả. Mặt khác, một chỉ mục sẽ giúp cơ sở dữ liệu nhanh chóng chuyển đến các trang có liên quan nơi chứa các bản ghi 'Smith'. Điều này rất giống với cách chúng ta, con người, duyệt qua danh bạ điện thoại để tìm ai đó theo họ:Chúng ta không bắt đầu tìm kiếm qua danh bạ từ đầu này sang đầu khác, miễn là chúng ta đã chèn thông tin theo thứ tự nào đó mà chúng ta có thể sử dụng để chuyển nhanh đến các trang 'S'.
Khóa chính và khóa duy nhất tương tự nhau. Khóa chính là một cột hoặc một tổ hợp các cột, có thể xác định duy nhất một hàng. Đây là một trường hợp đặc biệt của khóa duy nhất . Một bảng có thể có nhiều nhất một khóa chính, nhưng có nhiều hơn một khóa duy nhất. Khi bạn chỉ định một khóa duy nhất trên một cột, không có hai hàng riêng biệt nào trong bảng có thể có cùng giá trị.
Cũng lưu ý rằng các cột được xác định là khóa chính hoặc khóa duy nhất được tự động lập chỉ mục trong MySQL.