Index trong MySQL – Tối ưu hoá cơ sở dữ liệu MySQL của bạn

KHOA NGHI HOàNG
9:16 08/07/2018
Bài viết đưa ra những khái niệm giúp bạn hiểu rõ hơn về index trong MySQL và những trường hợp nào cần áp dụng trong database của bạn.

Website của bạn sau một thời gian dày phát triển tộc độ sẽ chậm đi, ngoài những nguyên nhân khách quan như đường truyền mạng thì còn một nguyên nhân khác đó chính là thời gian phản hồi của máy chủ web chậm do tốc độ truy vấn vào database chậm.

Khi website phát triển lớn hơn đồng nghĩa với việc các table chứa user, bài viết tăng dần số lượng dữ liệu trong một bảng nhiều hơn và khi truy xuất thì phải duyệt qua hết tất cả các dòng trong một bảng dẫn đến tốc độ web chậm đi.

Để giải quyết vấn đề đó, MySQL đã đưa ra giải pháp là sử dụng index (đánh chỉ mục) cho từng bảng.

Index trong MySQL là gì?

Index trong MySQL là một file chứa những feild ở ổ cứng. Ví dụ như phần mục lục của một quyển sách, nếu một quyển sách có mục lục thì bạn sẽ dễ dàng tìm kiếm nội dung trong quyển sách đó hơn. Quay trở lại với MySQL, nếu bạn tạo một index có dạng ma_sinh_vien thì khi tìm kiếm mã sinh viên trong bảng sẽ trở nên nhanh chóng hơn.

Khi nào đánh index trong MySQL

Khi số lượng thành viên, số lượng bài viết tăng lên đến một giới hạn nào đó khiến cho toàn bộ quá trình truy vấn bị chậm trễ, đồng nghĩa với việc database phải duyệt qua toàn bộ dòng của table. Việc này giống như 1 cuốn sách mỏng thì bạn có thể tìm kiếm hoặc đọc hết nó một cách nhanh chóng, còn quyển sách dày đi thì việc tìm kiếm 1 đoạn văn nào đó sẽ chậm hơn.

Khi trong cột muốn đánh index có số giá trị duy nhất nhiều thì nên sử dụng , nhưng nếu số giá trị duy nhất trong column đó quá thấp thì bạn không nên dùng index đối với trường hợp này. Ví dụ trong cột này có quá nhiều giá trị trùng nhau . Số giá trị khác nhau quá ít thì index sẽ kém hiệu quả .

Các loại index trong MySQL

- UNIQUE index: Một UNIQUE index trong MySQL có nghĩa là 2 hàng trong cùng một bảng không thể có giá trị giống nhau.

- Simple index: Cho phép tồn tại các giá trị giống nhau trong các feild giữa các hàng trong cùng một bảng. 

Trong bài viết tiếp theo mình sẽ hướng dẫn chi tiết cách sử dụng index trong MySQL các bạn nhớ theo dõi nhá.

Cám ơn các bạn!

Nguồn: nenhocgi.com

TIN LIÊN QUAN
Federated Learning (FL): Khái niệm Các mô hình ML/DL truyền thống thường yêu cầu dữ liệu gốc của người dùng được gửi lên một server trung tâm để train tập trung, điều này gây ảnh hưởng đến quyền riêng tư (privacy). Do đó, các mô hình hiện nay thường sử...
Chào các bạn yêu thích nghiên cứu và công nghệ thông tin! Sau sự thành công của WannaResearch Episode 06, chúng tôi xin trân trọng thông báo về sự trở lại của chuỗi sự kiện nghiên cứu uy tín với Episode 07: "Audio Deepfake Detection." Buổi seminar này sẽ mang...
💨 SẮP TỚI CNSC CÓ GÌ? 🔥 KHOÁ HỌC LẬP TRÌNH PYTHON đã có mặt tại CNSC !!! 💼 Và đặc biệt hơn những ưu đãi vô cùng hấp dẫn cho “người nhà” các bạn SINH VIÊN UIT, các bạn đã sẵn sàng sắm ngay chứng chỉ này cho mình...