cuốn sách gpt4 ai đã làm

18. Chỉ mục SQLite

In lại Tác giả: Đường đến ông chủ Thời gian cập nhật: 2024-01-07 13:06:13 30 4
mua khóa gpt4 Nike

Chỉ mục SQLite (Chỉ mục)

Chỉ mục là một bảng tra cứu đặc biệt được các công cụ tìm kiếm cơ sở dữ liệu sử dụng để tăng tốc độ truy xuất dữ liệu. Nói một cách đơn giản, chỉ mục là một con trỏ tới dữ liệu trong bảng. Chỉ mục trong cơ sở dữ liệu rất giống với chỉ mục đằng sau một cuốn sách.

Ví dụ: nếu bạn muốn trích dẫn tất cả các trang trong một cuốn sách thảo luận về một chủ đề nhất định, trước tiên bạn phải trỏ đến chỉ mục, liệt kê tất cả các chủ đề theo thứ tự bảng chữ cái, sau đó trỏ đến một hoặc nhiều số trang cụ thể.

Các chỉ mục giúp tăng tốc các truy vấn SELECT và mệnh đề WHERE, nhưng chúng làm chậm quá trình nhập dữ liệu khi sử dụng các câu 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 đến dữ liệu.

Tạo một chỉ mục bằng cách sử dụng câu lệnh CREATE INDEX, câu lệnh này cho phép bạn đặt tên cho chỉ mục, chỉ định bảng và một hoặc nhiều cột sẽ được lập chỉ mục và cho biết chỉ mục đó theo thứ tự tăng dần hay giảm dần.

Các chỉ mục cũng có thể là duy nhất, tương tự như các ràng buộc UNIQUE, ngăn chặn các mục nhập trùng lặp trên một cột hoặc tổ hợp các cột.

Lệnh TẠO CHỈ SỐ

TẠO CHỈ SỐ Cú pháp cơ bản như sau:

TẠO CHỈ SỐ tên chỉ mục TRÊN tên_bảng;

Chỉ mục cột đơn

Chỉ mục một cột là chỉ mục chỉ được tạo trên một cột của bảng. Cú pháp cơ bản như sau:

TẠO CHỈ SỐ tên_chỉ mục TRÊN tên_bảng (tên_cột);

chỉ mục duy nhất

Việc sử dụng các chỉ mục duy nhất không chỉ mang lại hiệu suất mà còn cho tính toàn vẹn của dữ liệu. Một chỉ mục duy nhất không cho phép chèn bất kỳ giá trị trùng lặp nào vào bảng. Cú pháp cơ bản như sau:

TẠO INDEX tên_chỉ mục trên tên_bảng (tên_cột);

chỉ số kết hợp

Chỉ mục tổng hợp là chỉ mục được tạo trên hai hoặc nhiều cột của bảng. Cú pháp cơ bản như sau:

TẠO INDEX tên chỉ mục trên tên_bảng (cột1, cột2);

Cho dù bạn muốn tạo chỉ mục một cột hay chỉ mục tổng hợp đều tính đến các cột mà bạn sử dụng rất thường xuyên trong mệnh đề WHERE làm bộ lọc truy vấn.

Nếu giá trị sử dụng một cột, hãy chọn sử dụng chỉ mục một cột. Nếu hai hoặc nhiều cột thường được sử dụng trong mệnh đề WHERE làm bộ lọc, hãy chọn sử dụng chỉ mục tổng hợp.

chỉ số ngầm

Chỉ mục ngầm định là các chỉ mục được máy chủ cơ sở dữ liệu tự động tạo khi tạo một đối tượng. Các chỉ mục được tạo tự động với các ràng buộc khóa chính và các ràng buộc duy nhất.

Ví dụ

Dưới đây là một ví dụ trong đó chúng ta sẽ tạo một chỉ mục trên cột lương của bảng CÔNG TY:

sqlite> TẠO CHỈ SỐ lương_index TRÊN CÔNG TY (mức lương);

Bây giờ, hãy sử dụng .chỉ số Lệnh liệt kê tất cả các chỉ mục có sẵn trên bảng COMPANY như sau:

sqlite> .indices CÔNG TY

Điều này sẽ tạo ra kết quả sau, trong đó sqlite_autoindex_COMPANY_1 Là một chỉ mục ngầm được tạo khi tạo bảng.

lương_index sqlite_autoindex_COMPANY_1

Bạn có thể liệt kê tất cả các chỉ mục trên toàn cơ sở dữ liệu như sau:

sqlite> CHỌN * TỪ sqlite_master WHERE type = 'index';

Lệnh DROPINDEX

Một chỉ mục có thể được tạo bằng cách sử dụng SQLite LÀM RƠI lệnh xóa. Cần đặc biệt cẩn thận khi xóa chỉ mục vì hiệu suất có thể giảm hoặc tăng.

Cú pháp cơ bản như sau:

DROP INDEX tên chỉ mục;

Bạn có thể sử dụng câu lệnh sau để xóa chỉ mục đã tạo trước đó:

sqlite> CHỈ SỐ GIẢM lương_index;

Khi nào bạn nên tránh sử dụng chỉ mục?

Mặc dù mục đích của việc lập chỉ mục là để cải thiện hiệu suất cơ sở dữ liệu nhưng có một số trường hợp nên tránh lập chỉ mục. Khi sử dụng chỉ mục, bạn nên xem xét lại các nguyên tắc sau:

  • Không nên sử dụng chỉ mục trên các bảng nhỏ hơn.
  • Không nên sử dụng chỉ mục trên các bảng trải qua các thao tác chèn hoặc cập nhật khối lượng lớn thường xuyên.
  • Không nên sử dụng chỉ mục trên các cột chứa nhiều giá trị NULL.
  • Không nên sử dụng chỉ mục trên các cột được vận hành thường xuyên.
30 4 0
Bài viết khuyến nghị: 26. Tiêm SQLite
Bài viết khuyến nghị: 15. Giá trị NULL của SQLite
Bài viết khuyến nghị: 29. Các hàm chung của SQLite
Bài viết khuyến nghị: 06. Mệnh đề giới hạn SQLite
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress