Bạn đang thắc mắc chỉ mục là gì? Dĩ nhiên rồi, nếu không bạn đã không nhấp vào bài viết này. Trên thực tế, không phải ai cũng hiểu rõ về chỉ mục. Do đó, bài viết này là tổng hợp những giải đáp cho thắc mắc của bạn về khái niệm này.
Forza sẽ cùng bạn tìm hiểu từ những điều cơ bản nhất, đầu tiên là về khái niệm.
Mục lục:
Chỉ mục là gì?
Chỉ mục còn có cái tên “sang chảnh” hơn là Index. Đây là bảng tìm kiếm đặc biệt mà Database Search Engine sử dụng để tăng thời gian thu thập dữ liệu. Đặc biệt nó còn giúp tăng hiệu suất thu thập dữ liệu hiệu quả hơn.
Mỗi index sẽ dẫn đến một khu vực dữ liệu trong một bảng. Một chỉ mục trong Database sẽ tương ứng với một chỉ mục trong phần phụ lục của cuốn sách.
Hiểu một cách đơn giản hơn, chỉ mục là giá trị được dùng để khai báo thông tin với công cụ tìm kiếm như Google. Trong quá trình này, nó sẽ thực hiện khai báo những website trên hệ thống như không muốn được index.
Vậy thời điểm đánh chỉ mục hợp lý là lúc nào?
Nên đánh chỉ mục cho bảng vào thời điểm nào?
Những lúc bạn tiến hành thay mới cấu trúc bảng dữ liệu bạn đều phải sử dụng lại Add Index. Nói một cách đơn giản hơn thì khi bạn thay đổi nội dung cuốn sách của mình, mục lục là thứ đầu tiên bạn cần làm lại.
Dữ liệu có cấu trúc là thế nào? Đây là thuật ngữ được sử dụng để bạn thấy những dữ liệu có số thứ tự. Hoặc những dữ liệu có hệ thống, có cách lưu trữ. Mục đích của nó là giúp bạn lưu trữ dữ liệu dễ dàng và nhanh chóng. Đồng thời hỗ trợ nhu cầu truy cập thông tin của người dùng.
Nếu Database mà bạn dùng là INSERT hoặc UPDATE nhiều hơn là SELECT thì chỉ có làm chậm thêm các thao tác mà thôi. Index cũng giống như các tab. Chúng chỉ làm nó nhanh hơn để bạn dễ dàng tìm thấy dữ liệu khi có nhu cầu. Do đó, nếu bạn muốn tạo được một Index tốt thì cần xem xét về cách bạn sẽ được truy vấn dữ liệu ra sao. Tốc độ truy vấn sẽ thế nào để phù hợp với yêu cầu của Google cũng như đem lại hiệu quả tốt nhất.
Bạn đã hiểu hơn khái niệm chỉ mục là gì, vậy có bao nhiêu loại chỉ mục thường được sử dụng?
Một số loại chỉ mục phổ biến
Chỉ mục R-Tree
Loại chỉ mục này không phổ biến như các loại khác. Nó chỉ được sử dụng cho những dữ liệu trong không gian Spatial data. Bởi vậy, khi bạn tìm hiểu về R-Tree cần nắm rõ thông tin này thì mới không bị lẫn lộn với các loại chỉ mục khác.
Chỉ mục B-Tree Index
B – Tree Index là loại chỉ mục rất hữu dụng so với R-Tree. Loại chỉ mục này có các đặc điểm nổi bật sau:
- Dữ liệu index trong B-Tree sẽ được sắp xếp cũng như lưu trữ theo dạng hình cây, tức là có root, branch, leaf. Giá trị của các node được tổ chức theo thứ tự tăng dần từ trái qua phải.
- Việc truy vấn dữ liệu trong B-Tree là 1 quá trình đệ quy, bắt đầu từ việc root node và tìm kiếm tới branch và leaf. Sau khi tìm đủ dữ liệu nhằm thỏa mãn được với điều kiện truy vấn thì mới dùng lại.
- Chỉ mục B-Tree index được sử dụng cho những cột (column) trong tab khi muốn tìm kiếm giá trị nằm trong một khoảng nào đó. Ví dụ như bạn muốn tìm kiếm những học sinh có điểm Văn từ 7-9.
Chỉ mục Hash Index
Chỉ mục Hash Index so với chỉ mục B-Tree sẽ có một vài điểm khác biệt, nó có những đặc điểm sau:
- Dữ liệu index được sắp xếp theo dạng Key – Value và được liên kết chặt chẽ với nhau.
- Khác với chỉ mục B-Tree, bạn chỉ nên sử dụng chỉ mục này thường xuyên trong các biểu thức toán tử là = và <>. Nó không được sử dụng cho toán từ tìm kiếm 1 khoảng giá trị như > hay < .
- Không thể tối ưu hóa các thuật toán tử ORDER BY bằng cách sử dụng Hash index do nó không có khả năng tìm kiếm được phần tử tiếp theo trong Order.
- Tất cả nội dung của Key được sử dụng để tìm kiếm giá trị records, chứ không giống với B-Tree là một phần của node cũng có thể được sử dụng để tìm kiếm.
- Hash có tốc độ tìm kiếm hoàn toàn nhanh hơn B-Tree.
Bạn đã hiểu sơ nét khái niệm cũng như cách đánh và các loại phổ biến của chỉ mục là gì chưa? Ở phần tiếp theo, mình sẽ chia sẻ đến bạn các lệnh index cơ bản.
Một số lệnh index
Trong phần này, ngoài các lệnh index phổ biến, mình sẽ chia sẻ thêm cách để tạo cũng như để xóa các chỉ mục trong bảng.
Tạo index trong một bảng
Cú pháp để CREATE INDEX cơ bản:
CREATE INDEX ten_chi_muc ON ten_bang; |
Unique index được sử dụng ngoài mục đích để tăng hiệu suất, mà còn để bảo toà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.
Tạo index cho cột được chỉ rõ trong bảng
CREATE UNIQUE INDEX index_name
ON table_name(column 1, column 2,…); |
Trong trường hợp không chỉ rõ tên column được đánh chỉ mục trong bảng, mysql sẽ mặc định đánh chỉ mục trên primary key hoặc các ràng buộc mang tính duy nhất trong bảng databases.
Các lệnh thêm chỉ mục
- Thêm chỉ mục cho bảng, với chỉ mục mang tính duy nhất và không thể null
ALTER TABLE tbl_name ADD PRIMARY KEY (column 1, column 2,..) |
- Thêm chỉ mục cho bảng, với chỉ mục mang tính duy nhất nhưng có thể null
ALTER TABLE tbl_name ADD UNIQUE index_name (column 1, column 2,..) |
- Thêm chỉ mục cho bảng, có thể trùng lặp
ALTER TABLE tbl_name ADD INDEX index_name (column 1, column 2,..) |
- Thêm index đặc biệt thường cho tìm kiếm văn bản
ALTER TABLE tbl_name ADD FULLTEXT index_name (column 1, column 2,..) |
Các lệnh xóa chỉ mục
Một chỉ mục hoàn toàn có thể bị xóa bởi lệnh DROP INDEX trong SQL. Bạn nên lưu ý 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:
DROP INDEX index_name; |
Các bước tạo chỉ mục trong bảng tương đối đơn giản. Tuy nhiên, bạn cần lưu ý những điểm sau trong quá trình sử dụng chỉ mục
Một số lưu ý khi sử dụng chỉ mục
Mặc dù đã hiểu rõ khái niệm chỉ mục là gì, nhưng mục đích của index là gì?
Các chỉ mục được sử dụng với mục đích nâng cao hiệu suất của Database, nhưng đôi khi, bạn nên hạn chế sử dụng chúng. Sau đây là một số điểm bạn cần xem xét để cân nhắc có nên sử dụng chỉ mục hay không:
- Không nên sử dụng các chỉ mục trong các bảng nhỏ.
- Bảng mà thường xuyên có các hoạt động update, insert.
- Không nên sử dụng các chỉ mục trên các cột mà chứa một số lượng lớn giá trị NULL.
- Chỉ mục Không nên dùng trên các cột mà thường xuyên bị chỉnh sửa.
Bài viết là tổng hợp thông tin trả lời thắc mắc chỉ mục là gì của đa số các bạn. Hi vọng với những kiến thức bên trên bạn đã biết cách tạo cũng như xóa các chỉ mục trong bảng của mình.
Chúc bạn thành công.
Tìm hiểu thêm: Kiến thức Marketing, Onpage, Offpage