Implicit index (index ngầm định) là gì?

Tương tự: Chỉ mục,Index
Tương tự : 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 toàn bộ những trang nói về cùng 1 chủ đề trong 1 cuốn sách, điều tiên phong tất cả chúng ta làm sẽ là xem mục lục của cuốn sách đó và tìm tổng thể những chương, mục, chủ đề theo thứ tự và sau đó tham chiếu tới những trang nội dung đơn cử .

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.

Bạn đang đọc: Chỉ mục [index] là gì? Định nghĩa, khái niệm

Một số lệnh index cơ bản

Cú pháp để CREATE INDEX cơ bản:

                        CREATE INDEX ten_chi_muc ON ten_bang;

CREATE INDEX ten_chi_muc ON ten_bang ;Ngoài ra, tất cả chúng ta cũng hoàn toàn 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 những ràng buộc mang tính duy nhất trong bảng databases .

Lệnh UNIQUE INDEX

Unique index được sử dụng để duy trì tính toàn vẹn của tài liệu chứa trong bảng cũng như cho mục tiêu 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

Xem thêm: Cao su thiên nhiên là gì? Lưu ý sử dụng bạn cần biết | GCS

              ALTER TABLE tbl_name ADD PRIMARY KEY [column 1, column 2,..]

ALTER TABLE tbl_name ADD PRIMARY KEY [ column 1, column 2, .. ]2. Thêm index cho bảng, với index mang tính duy nhất nhưng hoàn toàn có thể null
              ALTER TABLE tbl_name ADD UNIQUE index_name [column 1, column 2,..]

ALTER TABLE tbl_name ADD UNIQUE index_name [ column 1, column 2, .. ]3. Thêm index cho bảng, hoàn toàn có thể trùng lặp
              ALTER TABLE tbl_name ADD INDEX index_name [column 1, column 2,..]

ALTER TABLE tbl_name ADD INDEX index_name [ column 1, column 2, .. ]4. Thêm index đặc biệt quan trọng thường cho tìm kiếm văn bản
               ALTER TABLE tbl_name ADD FULLTEXT index_name [column 1, column 2,..]

Implicit Index trong SQL

ALTER TABLE tbl_name ADD FULLTEXT index_name [ column 1, column 2, .. ]Implicit Index [ hoàn toàn có thể hiểu là chỉ mục ngầm định ] là chỉ mục mà được tạo tự động hóa bởi Database Server khi một đối tượng người dùng được tạo. Các chỉ mục được tạo tự động hóa cho những ràng buộc Primary key và những ràng buộc Unique .

Xóa index  

Để xóa chỉ mục ta sử dụng lệnh DROP INDEX.

DROP INDEX ten_chi_muc;

DROP INDEX ten_chi_muc ;

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.

Xem thêm: Penthouse là gì? Có nên mua căn hộ penthouses Sài Gòn

Xác nhận các index đã lập

Bạn hoàn toàn có thể kiểm tra những chỉ mục khác nhau có trong một bảng đơn cử do người dùng hoặc chính sever phân phối và tính duy nhất của chúng .
select * from USER_INDEXES;

select * from USER_INDEXES ;Lệnh sẽ hiển thị toàn bộ những chỉ mục có trong sever cho bạn, trong đó bạn cũng hoàn toàn có thể xác định những 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.

Người đăng: hoy

Time: 2020-11-02 09:13:48

Source: //blogthuvi.com
Category: Blog

Đã đăng vào thg 4 21, 2020 2:03 SA 6 phút đọc

Bài đăng này đã không được cập nhật trong 3 năm

  • Index là một cấu trúc dữ liệu được dùng để định vị và truy cập nhanh nhất vào dữ liệu trong các bảng database
  • Index là một cách tối ưu hiệu suất truy vấn database bằng việc giảm lượng truy cập vào bộ nhớ khi thực hiện truy vấn
  • 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 tên [Name] là “HauNguyen” . Ta có truy vấn SQL sau: SELECT * FROM User WHERE Name = 'HauNguyen';

Khi không có Index cho cột Name, truy vấn sẽ phải chạy qua tất cả các Row của bảng User để so sánh và lấy ra những Row thỏa mãn. Vì vậy, khi số lượng bản ghi lớn, việc này thực sự là ác mộng @@ Index được sinh ra để giải quyết vấn đề này. Nói đơn giản, index trỏ tới địa chỉ dữ liệu trong một bảng, giống như Mục lục của một cuốn sách [Gồm tên đề mục và số trang], nó giúp truy vấn trở nên nhanh chóng như việc bạn xem mục lục và tìm đúng trang cần đọc vậy

  • Index có thể được tạo cho một hoặc nhiều cột trong database. Index thường được tạo mặc định cho primary key, foreign key. Ngoài ra, ta cũng có thể tạo thêm index cho các cột nếu cần.

Cấu trúc của Index

  • Index là một cấu trúc dữ liệu gồm:
  1. Cột Search Key: chứa bản sao các giá trị của cột được tạo Index
  2. Cột Data Reference: chứa con trỏ trỏ đến địa chỉ của bản ghi có giá trị cột index tương ứng

Một số loại Index Database

1. B-Tree

  • Là kiểu dữ liệu phổ biến nhất cho Index
  • Dữ liệu index trong B-Tree được tổ chức và lưu trữ theo dạng tree, tức là có root, branch, leaf.
  • Ý tưởng chung của B-Tree là lưu trữ các giá trị được sắp xếp, mỗi leaf node có độ cao bằng nhau tính từ gốc. B-Tree có thể tăng tốc truy vấn vì storage engine không cần tìm toàn bộ bản ghi của bảng. Thay vào đó, nó sẽ tìm từ node root, root sẽ chứa con trỏ tới node con, storeage engine sẽ dựa vào con trỏ đó. Nó tìm đúng con trỏ bằng cách xét giá trị của node pages, nơi chứa khoảng giá trị của các node con. Cuối cùng, storage engine chỉ ra rằng giá trị không tồn tại hoặc tìm được giá trị ở leaf node.
  • B-Tree index được sử dụng trong các biểu thức so sánh dạng: =, >, >=,

Chủ Đề