Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách tạo chỉ mục trong MySQL

Chỉ mục MySQL giúp dễ dàng thực hiện tra cứu và cải thiện tốc độ truy vấn SQL. Dưới đây là cách tạo chỉ mục trong MySQL để cải thiện hiệu suất cơ sở dữ liệu bằng cách sử dụng câu lệnh MySQL CREATE INDEX.

Cách lập chỉ mục hoạt động trong MySQL

Thông thường, khi bạn chạy truy vấn SQL với mệnh đề WHERE hoặc các loại tra cứu khác như đối với JOINS, MySQL cần quét tất cả các bản ghi trong bảng của bạn để tìm các hàng phù hợp. Trong trường hợp bảng của bạn có hàng triệu hàng, điều này có thể rất tốn thời gian và làm chậm các truy vấn SQL của bạn đáng kể.

Chỉ mục MySQL tăng tốc các truy vấn SQL của bạn bằng cách duy trì các giá trị cột được lập chỉ mục trong cấu trúc B-tree được tối ưu hóa cho việc tra cứu và so khớp. Vì vậy, chỉ mục giúp bạn nhanh chóng tìm thấy các hàng phù hợp với một hoặc nhiều giá trị dễ dàng hơn.

Theo mặc định, MySQL tạo chỉ mục cho mọi cột khóa chính trong cơ sở dữ liệu của bạn.

Phần thưởng đọc:Cách tạo thủ tục được lưu trữ trong MySQL

Cách tạo chỉ mục trong MySQL

Dưới đây là các bước để tạo chỉ mục trong MySQL. Bạn có thể tạo chỉ mục tại thời điểm tạo bảng hoặc thêm nó sau đó. Chúng ta sẽ xem xét cả hai cách tiếp cận này.

Cách tạo chỉ mục MySQL trong khi tạo bảng

Đây là cú pháp để tạo chỉ mục trong quá trình tạo bảng

CREATE TABLE table_name(
   column_definitions,
   INDEX (list_of_columns) 
);

Trong truy vấn trên, table_name là bảng của bạn sẽ được tạo và column_definitions là danh sách các cột và định nghĩa.

INDEX (list_of_columns) là nơi bạn tạo chỉ mục MySQL. Chỉ mục sẽ được tạo cho danh sách các cột được phân tách bằng dấu phẩy được đề cập là list_of_columns

Phần thưởng đã đọc:Cách tạo người dùng trong MySQL

Đây là một ví dụ.

CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   sale INT NOT NULL,
   product_id INT NOT NULL,
   product_name VARCHAR(10),
   INDEX (product_id) 
);

Trong truy vấn trên, chúng tôi đã tạo Chỉ mục cho product_id cột.

Dưới đây là một ví dụ về cách tạo chỉ mục bằng cách sử dụng nhiều cột.

CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   sale INT NOT NULL,
   product_id INT NOT NULL,
   product_name VARCHAR(10),
   INDEX (product_id, order_id) 
);

Trong truy vấn trên, chúng tôi đã tạo chỉ mục cho nhiều cột product_id, order_id

Phần thưởng đọc:Cách tạo cơ sở dữ liệu trong MySQL

Cách thêm chỉ mục vào cột trong bảng

Giả sử bạn muốn thêm chỉ mục cho cột hoặc tập hợp các cột, sau đó sử dụng câu lệnh CREATE INDEX. Đây là cú pháp của câu lệnh CREATE INDEX

CREATE INDEX index_name ON table_name (column_list)

Trong truy vấn trên, chúng tôi chỉ định tên chỉ mục, bảng mà bạn cần tạo chỉ mục và danh sách các cột được đưa vào lập chỉ mục.

Dưới đây là ví dụ để thêm chỉ mục mới cho cột product_name trong các đơn đặt hàng ở trên bảng

CREATE INDEX prod_name_index ON orders (product_name);

Để xem các chỉ mục được thêm vào bảng, bạn có thể sử dụng câu lệnh SHOW INDEXES. Đây là cú pháp cho SHOW INDEXES

SHOW INDEXES from table_name;

Đây là một ví dụ để xem các chỉ mục từ đơn đặt hàng bảng
SHOW INDEXES from orders;

Hy vọng bài viết trên sẽ giúp bạn tạo index trong MySQL.

Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách nhanh nhất để nhập tệp CSV lớn vào MySql bằng MySql CLI

  2. Cách tạo và sử dụng chế độ xem MySQL

  3. Các cách khác nhau để xem các bảng trong MySQL Server

  4. Lỗi mySQL 1040:Quá nhiều kết nối

  5. MySQL loại bỏ các bản sao khỏi cơ sở dữ liệu lớn một cách nhanh chóng