2013-12-16 15 views
5

Cả băm và lập chỉ mục được sử dụng để phân vùng dữ liệu trên một số công thức được xác định trước. Nhưng tôi không thể hiểu được sự khác biệt chính giữa hai người.Hashing VS Indexing

Như trong băm chúng tôi đang chia dữ liệu trên cơ sở của một số cặp khóa giá trị, tương tự như trong Lập chỉ mục, chúng tôi cũng đang chia dữ liệu trên một số giá trị được xác định trước.

Bất kỳ ai có thể vui lòng giúp tôi giải quyết sự khác biệt giữa Hashing và lập chỉ mục và cách quyết định có sử dụng băm hoặc Lập chỉ mục hay không.

+0

Bản sao có thể có của: ely

Trả lời

8

Băm là một trường hợp cụ thể của chỉ mục:

Hashing vs. Indexing

Indexing là một cái tên chung của một quá trình phân vùng dự định tại tăng tốc dữ liệu look-up. Việc lập chỉ mục có thể phân vùng tập dữ liệu dựa trên giá trị của một trường hoặc kết hợp các trường. Nó cũng có thể phân vùng tập dữ liệu dựa trên giá trị của hàm, được gọi là hàm băm băm, được tính từ dữ liệu trong một trường hoặc kết hợp các trường. Trong trường hợp cụ thể này, việc lập chỉ mục được gọi là băm dữ liệu.

+0

Có một lỗi đánh máy nhỏ, hãy xem * - up. –

+0

@Wazery Điều này hiện đã được khắc phục, cảm ơn! P.S. Bạn có thể đề xuất chỉnh sửa khi bạn thấy các nội dung như thế này; các chỉnh sửa đó thường được chấp thuận khá nhanh chóng. – dasblinkenlight

0

Tôi đã thực hiện một số nghiên cứu trên web:

Lập chỉ mục là gì?

Lập chỉ mục là cách sắp xếp một số bản ghi trên nhiều trường. Việc tạo một chỉ mục trên một trường trong bảng sẽ tạo ra một cấu trúc dữ liệu khác chứa giá trị trường và con trỏ tới bản ghi có liên quan đến nó. Cấu trúc chỉ mục này sau đó được sắp xếp, cho phép thực hiện tìm kiếm nhị phân trên nó.

băm là gì?

Việc băm nhỏ là việc chuyển đổi chuỗi ký tự thành giá trị độ dài cố định hoặc khóa ngắn hơn thường đại diện cho chuỗi gốc. Hashing được sử dụng để lập chỉ mục và truy xuất các mục trong cơ sở dữ liệu vì tìm nhanh mục đó bằng cách sử dụng khóa băm ngắn hơn để tìm mục đó bằng giá trị ban đầu.

+1

Nhắc tôi về điều này: http://stackoverflow.com/a/13472833/4632627 –