Những Điều Cần Biết Về Index Trong Database

Index database là gì?

Index là một cấu tạo dữ liệu được sử dụng để xác định và tầm nã cập sớm nhất có thể vào dữ liệu trong những bảng databaseIndex là 1 trong cách tối ưu năng suất truy vấn database bằng việc giảm lượng truy cập vào bộ lưu trữ khi thực hiện truy vấn

Index database để triển khai gì?

Giả sử ta có một bảng User lưu thông tin của người dùng, ta muốn lấy ra thông tin của người dùng có trường thương hiệu (Name) là “HauNguyen” .

Bạn sẽ xem: hầu như Điều nên biết về index là gì vào sql, chỉ mục (index) trong sql

Ta gồm truy vấn SQL sau:SELECT * FROM User WHERE Name = "HauNguyen";

Khi không tồn tại Index cho cột Name, truy nã vấn sẽ đề nghị chạy qua tất cả các Row của bảng User để đối chiếu và mang ra những Row thỏa mãn. Do vậy, lúc số lượng bản ghi lớn, bài toán này đích thực là ác mộng Index được hiện ra để giải quyết vấn đề này. Nói 1-1 giản, index trỏ tới showroom dữ liệu trong một bảng, hệt như Mục lục của một cuốn sách (Gồm thương hiệu đề mục với số trang), nó góp truy vấn trở nên hối hả như câu hỏi bạn xem mục lục với tìm đúng trang cần đọc vậy

Bạn đang xem: Những điều cần biết về index trong database

*

Xem thêm: Babule Là Gì ? Tác Dụng, Lưu Ý Khi Mua Babule Xe Cứ Bảo Sao Ngày Càng Nặng Hơn Ạ

Một số loại Index Database

1. B-Tree

Là mẫu mã dữ liệu thịnh hành nhất mang lại IndexDữ liệu index vào B-Tree được tổ chức và giữ trữ theo phương thức tree, tức là có root, branch, leaf.Ý tưởng chung của B-Tree là lưu lại trữ những giá trị được chuẩn bị xếp, mỗi leaf node có độ cao đều nhau tính từ gốc. B-Tree rất có thể tăng tốc truy tìm vấn bởi storage engine không phải tìm toàn bộ bản ghi của bảng. Chũm vào đó, nó đang tìm trường đoản cú node root, root vẫn chứa con trỏ tới node con, storeage engine sẽ dựa vào con trỏ đó. Nó tra cứu đúng con trỏ bằng phương pháp xét cực hiếm của node pages, nơi chứa khoảng chừng giá trị của những node con. Cuối cùng, storage engine chỉ ra rằng giá trị không tồn tại hoặc kiếm được giá trị làm việc leaf node.B-Tree index được sử dụng trong số biểu thức đối chiếu dạng: =, >, >=, B-Tree index được áp dụng cho đầy đủ column vào bảng khi mong tìm tìm 1 giá trị nằm trong khoảng nào đó
*

2.Hash IndexDữ liệu index được tổ chức triển khai theo dạng Key - Value được link với nhau.Khác cùng với B-Tree, thì Hash index chỉ nên sử dụng trong các biểu thức toán tử là = với . Không thực hiện cho toán từ search kiếm 1 khoảng giá trị như > hay không thể buổi tối ưu hóa toán tử ORDER BY bởi việc thực hiện Hash index cũng chính vì nó không thể tìm tìm kiếm được phần từ tiếp theo trong Order.Toàn bộ nội dung của Key được thực hiện để tìm kiếm kiếm cực hiếm records, không giống với B-Tree một trong những phần của node cũng có thể được sử dụng để search kiếm.Hash có tốc độ nhanh hơn thứ hạng Btree.

Dùng Index Database thế nào đến hiệu quả?

Dù Index đóng vai trò quan trọng đặc biệt trong vấn đề tối ưu truy vấn vấn với tăng tốc độ tìm kiếm trong Database nhưng nhược điểm của nó là tốn thêm bộ lưu trữ để giữ trữ. Vì vậy, bài toán Index cho các cột phải được xem toán, kị lạm dụng.Dưới đấy là một số Tips giúp đỡ bạn tạo Database index tác dụng hơn:Nên Index đông đảo cột được dùng trong WHERE, JOIN với ORDER BYDùng chức năng index prefix" or "multi-columns index” của MySQL. Vd: nếu như khách hàng tạo Index(first_name, last_name) thì k nên tạo Index(first_name)Dùng thuộc tính NOT NULL cho các cột được IndexKhông sử dụng Index cho những bảng thường xuyên có UPDATE, INSERTKhông cần sử dụng Index cho các cột nhưng mà giá trị thường xuyên bị cố gắng đổi

Một số lệnh Index Database

Create Index vào SQL:

CREATE INDEX ten_chi_muc ON ten_bang;

Single-Column Index vào SQL:Chỉ mục cho 1 cột đơn là 1 chỉ mục được tạo dựa trên chỉ một cột trong bảng. Cú pháp cơ bạn dạng là:

CREATE INDEX ten_chi_muc ON ten_bang (ten_cot);

Unique index trong SQLUnique index được sử dụng không chỉ để tăng hiệu suất, bên cạnh đó cho mục đích trọn vẹn dữ liệu. Một unique index không có thể chấp nhận được bất kỳ bạn dạng sao giá trị nào được chèn vào trong bảng. Cú pháp cơ bản là:

CREATE chất lượng INDEX ten_chi_muc ON ten_bang (ten_cot);

Composite Index trong SQLComposite Index là một trong những chỉ mục mang lại 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);

Implicit Index trong SQLImplicit Index (có thể gọi là chỉ mục ngầm định) là chỉ mục nhưng mà được tạo tự động bởi Database vps khi một đối tượng được tạo. Những chỉ mục được tạo auto cho những ràng buộc Primary key và các ràng buộc UniqueDROP INDEX vào SQL

DROP INDEX ten_chi_muc;