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