Chỉ mục (index) trong mysql - giải nghĩa và các lệnh cơ bản
Chỉ mục trong mysql là gì? Cùng Bizfly Cloud tìm hiểu và giải nghĩa các lệnh cơ bản ngay tại bài viết này.
Giải nghĩa về chỉ mục (index)
Chỉ mục hay index là một mô hình bảng tra cứu được Database Search Engine sử dụng để tăng tốc độ và hiệu suất truy xuất dữ liệu thông qua con trỏ. Hoặc nói một cách đơn giản, một chỉ mục là một con trỏ tới dữ liệu trong bảng. Index trong Database có thể hiểu tương tự như các chỉ mục trong mục lục của một cuốn sách.
Ví dụ, khi muốn tìm tất cả các trang nói về cùng 1 chủ đề trong 1 cuốn sách, điều đầu tiên chúng ta làm sẽ là xem mục lục của cuốn sách đó và tìm tất cả các chương, mục, chủ đề theo thứ tự và sau đó tham chiếu tới các trang nội dung cụ thể.
Chỉ mục có thể giảm I/O đĩa bằng cách sử dụng phương thức truy cập đường dẫn nhanh để xác định vị trí dữ liệu nhanh chóng. Một index giúp tăng tốc các truy vấn SELECT cũng như các mệnh đề WHERE, nhưng lại làm chậm việc nhập dữ liệu, với các lệnh UPDATE và INSERT. Các chỉ mục có thể được tạo hoặc xóa mà không gây ảnh hưởng gì đến dữ liệu.
Một số lệnh index cơ bản
Tạo index trong một bảng:
Cú pháp để CREATE INDEX cơ bản:
Ngoài ra, chúng ta cũng có thể tạo index cho 1 cột đơn Single Column Index trong SQL. Chỉ mục này được tạo cho chỉ 1 cột duy nhất trong bảng.
CREATE INDEX ten_chi_muc
ON ten_bang (ten_cot);
Để tạo index cho nhiều cột (Multiple-column index hay Composite) ta có cú pháp:
CREATE INDEX ten_chi_muc
ON ten_bang (cot1, cot2,...);
Lưu ý: Nếu không chỉ rõ tên column được đánh index trong bảng, mysql sẽ mặc định đánh index trên primary key hoặc các ràng buộc mang tính duy nhất trong bảng databases.
Unique index được sử dụng để duy trì tính toàn vẹn của dữ liệu chứa trong bảng cũng như cho mục đích tăng hiệu suất. Unique index cũng không cho phép nhập nhiều giá trị vào bảng.
CREATE UNIQUE INDEX ten_chi_muc
ON ten_bang (ten_cot);
Các lệnh thêm index:
1. Thêm index cho bảng, với index mang tính duy nhất và không thể null
2. Thêm index cho bảng, với index mang tính duy nhất nhưng có thể null
3. Thêm index cho bảng, có thể trùng lặp
4. Thêm index đặc biệt thường cho tìm kiếm văn bản
Implicit Index trong SQL
Implicit Index (có thể hiểu là chỉ mục ngầm định) là chỉ mục mà được tạo tự động bởi Database Server khi một đối tượng được tạo. Các chỉ mục được tạo tự động cho các ràng buộc Primary key và các ràng buộc Unique.
Xóa index
Để xóa chỉ mục ta sử dụng lệnh DROP INDEX.
Muốn xóa 1 chỉ mục, bạn phải là chủ sở hữu của chỉ mục đó hoặc có quyền DROP ANY INDEX.
Xác nhận các index đã lập
Bạn có thể kiểm tra các chỉ mục khác nhau có trong một bảng cụ thể do người dùng hoặc chính máy chủ cung cấp và tính duy nhất của chúng.
Lệnh sẽ hiển thị tất cả các chỉ mục có trong máy chủ cho bạn, trong đó bạn cũng có thể định vị các bảng của riêng mình.
Khi nào nên tránh sử dụng index
Không nên sử dụng cho các bảng nhỏ
Các cột không thường được sử dụng làm điều kiện trong truy vấn
Không nên dùng chỉ mục trên các cột thường xuyên bị thay đổi
Không nên sử dụng trên các cột có chứa một số lượng lớn giá trị NULL.
Vậy là chúng ta đã tìm hiểu xong các phần cơ bản về index cũng như cách sử dụng index trong mysql. Cùng tìm hiểu thêm kỹ hơn về index trong các bài viết tiếp theo bạn nhé!
Theo Bizfly Cloud tổng hợp
>> Có thể bạn quan tâm: 4 tính năng Windows 10 cực kỳ hữu ích khi làm việc không phải ai cũng biết