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
Câu nói được sử dụng làm tiêu đề trích từ câu nói của nhà Sinh lý học và Y học Horace Freeland Judson - người đoạt giải Nobel năm 1962 cho thấy tầm quan trọng của thông tin do DNA cung cấp không chỉ ở lĩnh vực y học mà...
??Ngày 15/6 vừa qua báo điện tử Pháp luật thành phố Hồ Chí Minh bị tấn công DDoS khiến nhiều đọc giả không thể truy cập trong hai giờ liền. Nhân dịp này chúng ta cùng ôn lại kiến thức về kiểu tấn công an ninh mạng này.?? ??DDoS là...
[wanna-Tips] Mã độc Đa hình và Mã độc Siêu hình: Polymorphic Malware vs Metamorphic Malware Mọi người thường nghĩ rằng mã độc đa hình (Polymorphic Malware) và mã độc siêu hình (Metamorphic Malware) là giống nhau - với lí do phổ biến là ở góc nhìn tổng thể chung thì:...