EN - FR - DE - ES - IT - PT -

LexiconDream

📇 Chỉ mục

Một cấu trúc dữ liệu giúp tăng tốc độ truy xuất các bản ghi trong cơ sở dữ liệu.

Chỉ mục

Mục lục giúp tăng tốc độ truy xuất dữ liệu. Nếu không có mục lục, cơ sở dữ liệu sẽ quét từng hàng để tìm các bản ghi phù hợp. Với mục lục, nó sẽ nhảy trực tiếp đến các hàng liên quan. Mục lục là một cấu trúc dữ liệu riêng biệt ánh xạ các giá trị đến vị trí. Mục lục sách hoạt động theo cách tương tự. Bạn tra cứu một thuật ngữ và tìm số trang. Bạn không cần đọc từng trang để tìm nó. Cơ sở dữ liệu cũng làm điều tương tự.

Việc tạo chỉ mục có chi phí. Chúng chiếm không gian lưu trữ. Chúng làm chậm quá trình chèn, cập nhật và xóa dữ liệu vì chỉ mục cũng phải được cập nhật. Mỗi thao tác ghi đều trở nên tốn kém hơn. Lợi ích là tốc độ đọc nhanh hơn. Đối với các tác vụ đọc nhiều, chỉ mục là rất cần thiết. Đối với các tác vụ ghi nhiều, quá nhiều chỉ mục sẽ làm giảm hiệu suất. Việc lựa chọn cột nào để lập chỉ mục đòi hỏi phải hiểu các mẫu truy vấn. Các cột được sử dụng trong mệnh đề WHERE, điều kiện JOIN và mệnh đề ORDER BY là những ứng cử viên tốt. Các cột có số lượng giá trị thấp, chẳng hạn như cờ boolean, là những ứng cử viên không tốt vì chỉ mục không thu hẹp phạm vi tìm kiếm nhiều. Chỉ mục tổng hợp bao gồm nhiều cột và có thể phục vụ các truy vấn lọc trên nhiều trường. Thứ tự các cột trong chỉ mục tổng hợp rất quan trọng. Cơ sở dữ liệu có thể sử dụng chỉ mục tổng hợp cho các truy vấn trên cột đầu tiên nhưng không thể chỉ sử dụng trên các cột cuối cùng. Thiết kế chỉ mục là một sự đánh đổi. Mục tiêu là tăng tốc các truy vấn quan trọng mà không làm chậm quá trình ghi nhiều hơn mức cần thiết.

Các loại chỉ mục

Chỉ mục là một lối tắt. Nó đánh đổi tốc độ ghi và dung lượng lưu trữ để lấy tốc độ đọc. Hãy sử dụng nó ở những nơi mà tốc độ đọc là quan trọng nhất.


Warning: session_start(): Cannot start session when headers already sent in /var/www/lexicondream.com/inc/functions.php on line 63

Comments (3)

  1. Derek S.
    Database indexes are a tradeoff. They speed up reads but slow down writes and take up space. Knowing when to add one is an art.
  2. Pam L.
    A primary key automatically creates an index. That's something a lot of beginners don't realize.
  3. Chris T.
    Without an index the database has to scan every row. With one it can jump straight to the data. Huge performance difference.

Leave a comment