Tìm hiểu MySQL CREATE INDEX Statement bằng các ví dụ thực tế – mysql tạo chỉ mục ví dụ

Trong hướng dẫn này, bạn sẽ tìm hiểu về chỉ mục và cách sử dụng câu lệnh MySQL CREATE INDEX để thêm chỉ mục vào bảng.

Bạn đang xem : ví dụ về tạo chỉ mục mysql

Tóm tắt : trong này hướng dẫn, bạn sẽ tìm hiểu về chỉ mục và cách sử dụng câu lệnh MySQL CREATE INDEX để thêm chỉ mục vào bảng.

Tương tự danh bạ điện thoại

Giả sử bạn có một danh bạ điện thoại chứa tất cả tên và số điện thoại của những người trong một thành phố. Giả sử bạn muốn tìm số điện thoại của Bob Cat. Biết rằng các tên được sắp xếp theo thứ tự bảng chữ cái, trước tiên bạn tìm trang có họ là Cat , sau đó tìm Bob và số điện thoại của anh ấy.

< p> Bây giờ, nếu các tên trong danh bạ điện thoại không được sắp xếp theo thứ tự bảng chữ cái, bạn cần phải xem qua tất cả các trang, đọc từng tên trên đó cho đến khi bạn tìm thấy Bob Cat . Đây được gọi là tìm kiếm tuần tự. Bạn xem qua tất cả các mục nhập cho đến khi bạn tìm thấy người có số điện thoại bạn đang tìm.

Liên hệ danh bạ với bảng cơ sở dữ liệu, nếu bạn có bảng danh bạ và bạn phải tìm số điện thoại của Bob Cat , bạn sẽ thực hiện truy vấn sau:

 

CHỌN

số điện thoại

TỪ

danh bạ

Ở ĐÂU

first_name =

'Bob'

last_name =

'Cat'

;

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

Nó khá dễ dàng. Mặc dù truy vấn nhanh nhưng cơ sở dữ liệu phải quét tất cả các hàng của bảng cho đến khi tìm thấy hàng đó. Nếu bảng có hàng triệu hàng, không có chỉ mục, thì việc truy xuất dữ liệu sẽ mất rất nhiều thời gian để trả về kết quả.

Giới thiệu về chỉ mục

Chỉ mục là một cấu trúc dữ liệu như vậy như B-Tree, cải thiện tốc độ truy xuất dữ liệu trên bảng với chi phí ghi và lưu trữ bổ sung để duy trì nó.

Trình tối ưu hóa truy vấn có thể sử dụng các chỉ mục để nhanh chóng xác định vị trí dữ liệu mà không cần phải quét mọi hàng trong một bảng cho một truy vấn nhất định.

Khi bạn tạo bảng bằng khóa chính hoặc khóa duy nhất , MySQL sẽ tự động tạo một chỉ mục đặc biệt có tên PRIMARY . Chỉ mục này được gọi là chỉ mục nhóm .

Xem Thêm  Thêm văn bản vào phần tử trong JavaScript - thêm trường nhập văn bản javascript

Chỉ mục PRIMARY đặc biệt vì bản thân chỉ mục được lưu trữ cùng với dữ liệu trong cùng một bảng. Chỉ mục được phân nhóm thực thi thứ tự của các hàng trong bảng.

Các chỉ mục khác ngoài chỉ mục PRIMARY được gọi là chỉ mục phụ hoặc chỉ mục không được phân nhóm.

Câu lệnh MySQL CREATE INDEX

Thông thường, bạn tạo chỉ mục cho một bảng tại thời điểm tạo. Ví dụ: câu lệnh sau tạo một bảng mới với chỉ mục bao gồm hai cột c2 và c3.

 

TẠO

BẢNG

t ( c1

INT

PRIMARY

KEY

, c2

INT

NOT

KHÔNG ĐỦ

, c3

INT

NOT

KHÔNG ĐẦY ĐỦ

, c4

VARCHAR

(

10

),

CHỈ SỐ

(c2, c3) );

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

Tới thêm chỉ mục cho một cột hoặc một tập hợp các cột, bạn sử dụng câu lệnh CREATE INDEX như sau:

 

TẠO

CHỈ SỐ

index_name

BẬT

table_name (column_list)

Code language:

SQL (Structured Query Language) < / p>

(

sql

)

Để tạo chỉ mục cho một cột hoặc danh sách các cột, bạn chỉ định tên chỉ mục, bảng chứa chỉ mục và danh sách cột.

Ví dụ: để thêm chỉ mục mới cho cột c4, bạn sử dụng câu lệnh sau:

 

TẠO

CHỈ SỐ

idx_c4

BẬT

t ( c4);

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

Theo mặc định, MySQL tạo chỉ mục B-Tree nếu bạn không chỉ định loại chỉ mục. Phần sau hiển thị loại chỉ mục được phép dựa trên công cụ lưu trữ của bảng:

Storage EngineAllowed Index TypesInnoDBBTREEMyISAMBTREEMEMORY / HEAPHASH, BTREE

Lưu ý rằng câu lệnh CREATE INDEX ở trên là phiên bản đơn giản hóa của câu lệnh CREATE INDEX do MySQL giới thiệu. Chúng tôi sẽ đề cập đến các tùy chọn khác trong các hướng dẫn tiếp theo.

MySQL CREATE INDEX example

Câu lệnh sau tìm nhân viên có chức danh là Đại diện bán hàng < / code>:

 

CHỌN

Số nhân viên, họ, họ

TỪ

người lao động

Ở ĐÂU

jobTitle =

'Đại diện bán hàng'

;

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

Đây là kết quả:

Ví dụ về chỉ mục MySQL

Chúng tôi có 17 hàng cho biết 17 nhân viên có chức danh là Đại diện bán hàng.

Để xem cách MySQL thực hiện nội bộ truy vấn này, bạn thêm mệnh đề EXPLAIN ở đầu Câu lệnh SELECT như sau:

Câu lệnh GIẢI THÍCH Chỉ mục MySQL

Như bạn có thể xem, MySQL đã phải quét toàn bộ bảng bao gồm 23 hàng để tìm nhân viên có chức danh công việc Đại diện bán hàng .

Bây giờ, hãy tạo chỉ mục cho cột jobTitle bằng cách sử dụng câu lệnh CREATE INDEX :

 

TẠO

CHỈ SỐ

jobTitle

BẬT

nhân viên (jobTitle) ;

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

Và thực thi lại câu lệnh trên:

 

GIẢI THÍCH

CHỌN

Số nhân viên, họ, họ

TỪ

người lao động

Ở ĐÂU

jobTitle =

'Đại diện bán hàng'

;

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

Đầu ra là:

Như bạn có thể thấy, MySQL chỉ cần định vị 17 hàng từ chỉ mục jobTitle như được chỉ ra trong cột khóa mà không cần quét toàn bộ bảng.

Để hiển thị các chỉ mục của bảng, bạn sử dụng SHOW INDEXES , ví dụ:

 

HIỂN THỊ

CHỈ SỐ

TỪ

nhân viên;

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

Đây là kết quả:

Ví dụ về CHỈ SỐ TẠO MySQL

Trong hướng dẫn này , bạn đã tìm hiểu về chỉ mục MySQL và cách thêm chỉ mục cho một cột trong bảng.

Hướng dẫn này có hữu ích không?


Xem thêm những thông tin liên quan đến chủ đề mysql tạo chỉ mục ví dụ

Bài 11: Hướng dẫn sử dụng Index trong MySQL

alt

  • Tác giả: Le Academy
  • Ngày đăng: 2020-08-08
  • Đánh giá: 4 ⭐ ( 8238 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Index trong MySQL là một trong những yếu tố quan trọng nhất góp phần vào việc nâng cao hiệu suất của cơ sở dữ liệu. Index trong SQL tăng tốc độ của quá trình truy vấn dữ liệu bằng cách cung cấp phương pháp truy xuất nhanh chóng tới các dòng trong các bảng.
    Video này sẽ hướng dẫn các bạn cách sử dụng index trong MySQL như thế nào để quá trình truy vấn dữ liệu được tối ưu nhất có thể thông qua những ví dụ minh hoạ anh chia sẻ.

    ► Xem thêm bài viết chi tiết tại: https://levunguyen.com/database/2020/05/19/database-index/
    hoclaptrinh mysql indextrongmysql

    ► Subscribe kênh Youtube của Nguyên để nhận được video mới MIỄN PHÍ hằng tuần tại đây ngay nhé: https://bom.to/644ln9z9hS

    Channel Le Vu Nguyen Vlog là nơi chia sẻ những kiến thức chuyên môn về lập trình nhằm hỗ trợ cho quá trình học lập trình của các bạn. Với những chia sẻ về kiến thức lập trình từ cơ bản cho đến nâng cao được phân loại theo từng danh mục hi vọng sẽ giúp bạn từng bước chinh phục lĩnh vực này và có thể trở thành một lập trình viên chuyên nghiệp trong tương lai.

    ► Khám phá thêm các nguồn học lập trình miễn phí:
    Các khoá học lập trình online miễn phí tại: https://hoclaptrinhonline.asia
    Các bài viết chia sẻ về lĩnh vực lập trình tại: https://levunguyen.com
    Tham gia group Da Nang Agile Developer Community để hỏi-đáp về lĩnh vực lập trình: https://www.facebook.com/groups/danangagiledeveloper
    Kênh tiktok lĩnh vực lập trình: https://www.tiktok.com/@lap_trinh_vien?lang=en&is_copy_url=1&is_from_webapp=v3

    ĐỪNG NGẠI ĐỂ LẠI THẮC MẮC CỦA BẠN DƯỚI PHẦN BÌNH LUẬN, MÌNH SẼ CỐ GẮNG GIẢI ĐÁP SỚM NHẤT CHO CÁC BẠN.

Index (chỉ mục) trong MySQL - Create, Add & Drop

  • Tác giả: viblo.asia
  • Đánh giá: 5 ⭐ ( 8320 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Index là gì? Các chỉ mục trong MySQL sắp xếp dữ liệu theo cách tuần tự có tổ chức. Chúng được tạo trên (các) cột sẽ được sử dụng để lọc dữ liệu. Hãy coi một chỉ mục như một danh sách được sắp xếp theo...

Tạo Index cho nhiều cột trong MySQL

  • Tác giả: freetuts.net
  • Đánh giá: 4 ⭐ ( 9670 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài này chúng ta sẽ học cách tạo chỉ mục index cho nhiều cột trong MySQL, đây là cách giúp bạn tối ưu hóa câu truy vấn trong một số trường hợp cụ thể

Chỉ mục (INDEX) trong MySQL

  • Tác giả: vietjack.com
  • Đánh giá: 4 ⭐ ( 5368 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chỉ mục (INDEX) trong MySQL - Học MySQL cơ bản đến nâng cao bắt đầu từ MySQL và PHP, Cơ sở dữ liệu, Cú pháp kết hợp MySQL và PHP, Mệnh đề WHERE, Lệnh DELETE, Truy vấn INSERT, Truy vấn UPDATE, Ràng buộc (Constraint), Truy vấn DROP, Mệnh đề ORDER BY, Mệnh đề GROUP BY, Hàm xử lý, Sử dụng JOIN, Giá trị NULL, Transaction, Sử dụng Sequence, Nhập - Xuất cơ sở dữ liệu, Phương thức Backup và Recovery, Regexp, SQL Injection và cách sử dụng trong PHP theo các bước cơ bản.

[Thực hành] Chỉ mục trong MySql

  • Tác giả: hocphp.net
  • Đánh giá: 5 ⭐ ( 3635 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Chỉ mục (index) trong mysql - giải nghĩa và các lệnh cơ bản

  • Tác giả: bizflycloud.vn
  • Đánh giá: 4 ⭐ ( 1406 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: 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ỏ.

Chỉ mục trong SQL Server

  • Tác giả: quantrimang.com
  • Đánh giá: 5 ⭐ ( 9645 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài viết hướng dẫn cách tạo, đổi tên và xóa chỉ mục trong SQL Server.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình