- Chuyên mục khác :
- Git cơ bản và nâng cao
- ·
- MySQL cơ bản và nâng cao
- ·
- MongoDB cơ bản và nâng cao
- ·
- SQL cơ bản và nâng cao
- ·
- Linux cơ bản và nâng cao
- Cơ bản về SQL
- Học SQL cơ bản và nâng cao
- SQL là gì
- Các khái niệm RDBMS trong SQL
- RDBMS Database trong SQL
- Cú pháp SQL cơ bản
- Kiểu dữ liệu trong SQL
- Toán tử trong SQL
- Biểu thức trong SQL
- SQL Database
- Lệnh CREATE DATABASE trong SQL
- Lệnh DROP Database trong SQL
- Lệnh SELECT DATABASE trong SQL
- Lệnh RENAME DATABASE trong SQL
- SQL Table
- CREATE Table trong SQL - Tạo bảng trong SQL
- Lệnh DROP Table trong SQL
- DELETE trong SQL
- Lệnh RENAME Table trong SQL
- Lệnh TRUNCATE TABLE trong SQL
- Lệnh ALTER TABLE trong SQL
- Mô phỏng bảng trong SQL
- Bảng tạm (Temporary Table) trong SQL
- Nhóm lệnh thao tác cơ bản
- UPDATE trong SQL
- Truy vấn INSERT trong SQL
- Truy vấn SELECT trong SQL
- Mệnh đề ORDER BY trong SQL
- Mệnh đề GROUP BY trong SQL
- Từ khóa DISTINCT trong SQL
- Sắp xếp kết quả trong SQL
- Mệnh đề trong SQL
- Mệnh đề WHERE trong SQL
- Toán tử liên hợp AND và OR trong SQL
- Mệnh đề With trong SQL
- Mệnh đề LIKE trong SQL
- Mệnh đề TOP, LIMIT, ROWNUM trong SQL
- Hoạt động SQL nâng cao
- Mệnh đề UNION trong SQL
- Giá trị NULL trong SQL
- Alias trong SQL
- Chỉ mục (Index) trong SQL
- Sử dụng View trong SQL
- Mệnh đề HAVING trong SQL
- Transaction trong SQL
- Toán tử wildcard trong SQL
- Truy vấn con trong SQL
- Sử dụng Sequence trong SQL
- Xử lý bản sao trong SQL (DISTINCT)
- Injection trong SQL
- Ràng buộc trong SQL
- Ràng buộc (Constraint) trong SQL
- Ràng buộc NOT NULL trong SQL
- Ràng buộc DEFAULT trong SQL
- Ràng buộc UNIQUE trong SQL
- Ràng buộc PRIMARY KEY trong SQL
- Ràng buộc FOREIGN KEY trong SQL
- Ràng buộc CHECK trong SQL
- Ràng buộc INDEX trong SQL
- SQL Join
- Mệnh đề JOINS trong SQL
- INNER JOIN trong SQL
- LEFT JOIN trong SQL
- RIGHT JOIN trong SQL
- FULL JOIN trong SQL
- SELF JOIN trong SQL
- CARTESIAN JOIN hoặc CROSS JOIN trong SQL
- Hàm trong SQL
- Hàm hữu ích trong SQL
- Hàm xử lý Date và Time trong SQL
- Hàm xử lý số trong SQL
- Hàm xử lý chuỗi trong SQL
- Tài liệu SQL tham khảo
- First Normal Form (1NF) trong SQL
- Second Normal Form (2NF) trong SQL
- Third Normal Form (3NF) trong SQL
- Tuning DB trong SQL
- Tài liệu SQL tham khảo
Chỉ mục (Index) là bảng tra cứu đặc biệt mà Database Search Engine có thể sử dụng để tăng nhanh thời gian và hiệu suất thu thập dữ liệu. Hiểu đơn giản, một chỉ mục là một con trỏ tới dữ liệu trong một bảng. Một chỉ mục trong một Database là tương tự như một chỉ mục trong Mục lục của cuốn sách.
Ví dụ, nếu bạn muốn tham chiếu tất cả các trang trong một cuốn sách về một chủ đề nào đó, đầu tiên bạn nghĩ ngay đến mục lục của nó, mà liệt kê tất cả các chương, chủ đề theo thứ tự và sau đó được tham chiếu tới một hoặc nhiều trang cụ thể.
Một chỉ mục giúp tăng tốc các truy vấn SELECT và các mệnh đề WHERE, nhưng nó làm chậm việc dữ liệu nhập vào, 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 ảnh hưởng tới dữ liệu.
Tạo một chỉ mục bởi sử dụng lệnh CREATE INDEX, mà cho phép bạn đặt tên cho chỉ mục, xác định bảng và cột hoặc các cột nào để lập chỉ mục, và để chỉ dẫn chỉ mục là theo thứ tự tăng dần hoặc giảm dần.
Các chỉ mục cũng có thể là duy nhất, tương tự như ràng buộc UNIQUE, trong đó chỉ mục ngăn ngừa các bản sao của các bản ghi trong cột hoặc việc tổ hợp của các cột có chỉ mục.
Lệnh CREATE INDEX trong SQL
Cú pháp cơ bản của lệnh CREATE INDEX trong SQL là như sau:
CREATE INDEX ten_chi_muc ON ten_bang;
Single-Column Index trong SQL
Chỉ mục cho một cột đơn là một chỉ mục được tạo dựa trên chỉ một cột trong bảng. Cú pháp cơ bản là:
CREATE INDEX ten_chi_muc ON ten_bang (ten_cot);
Unique index trong SQL
Unique index được sử dụng không chỉ để tăng hiệu suất, mà còn cho mục đích toàn vẹn dữ liệu. Một Unique index không cho phép bất kỳ bản sao giá trị nào được chèn vào trong bảng. Cú pháp cơ bản là:
CREATE UNIQUE INDEX ten_chi_muc on ten_bang (ten_cot);
Composite Index trong SQL
Composite Index là một chỉ mục cho hai hoặc nhiều cột trong một bảng. Cú pháp cơ bản của nó như sau:
CREATE INDEX ten_chi_muc on ten_bang (cot1, cot2);
Việc tạo một Single-column index hoặc một Composite index tùy thuộc vào sự cân nhắc của bạn về các cột bạn có thể sử dụng thường xuyên trong mệnh đề WHERE của một truy vấn như là các điều kiện lọc.
Nếu chỉ có một cột được sử dụng, thì lựa chọn tốt nhất là Single-column index. Nếu có hai hoặc nhiều cột được sử dụng thường xuyên trong mệnh đề WHERE như là các bộ lọc, thì dạng chỉ mục Composite index là lựa chọn tối ưu.
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.
Lệnh DROP INDEX trong SQL
Một chỉ mục có thể bị xóa bởi sử dụng lệnh DROP INDEX trong SQL. Bạn nên cẩn thận trong khi xóa một chỉ mục, bởi vì khi đó hiệu suất có thể chậm hơn hoặc không được cải thiện.
Cú pháp cơ bản của lệnh DROP INDEX là như sau:
DROP INDEX ten_chi_muc;
Bạn có thể tìm hiểu về Ràng buộc INDEX trong SQL để theo dõi các ví dụ về chỉ mục.
Khi nào nên tránh sử dụng chỉ mục trong SQL?
Mặc dù các chỉ mục nhằm mục đích để nâng cao hiệu suất của Database, nhưng đôi khi, bạn nên tránh dùng chúng. Dưới đây là một số điểm bạn cần xem xét để quyết định có nên sử dụng chỉ mục hay không:
Các chỉ mục không nên được sử dụng trong các bảng nhỏ.
Bảng mà thường xuyên có các hoạt động update, insert.
Các chỉ mục không nên được sử dụng trên các cột mà chứa một số lượng lớn giá trị NULL.
Không nên dùng chỉ mục trên các cột mà thường xuyên bị sửa đổi.
Bình luận (0)