2010-04-29 38 views
6

Nếu cơ sở dữ liệu có thể hỗ trợ tối đa hàng triệu bản ghi, thì tất cả dữ liệu này được tổ chức như thế nào để các truy vấn có thể được thực hiện trong một khoảng thời gian hợp lý?Cơ sở dữ liệu hiệu quả như thế nào?

Trả lời

2

Tôi thực sự thích This giải thích (bao gồm đồ họa;)

Đây là kết luận artcicle:

Kết luận

Index example http://mattfleming.com/files/images/example.gif

Chỉ mục cây B được tạo để giảm số số lượng I/O cần tìm và tải một bộ dữ liệu. Chỉ số có chọn lọc cao sử dụng số lượng I/O tối thiểu cần thiết, chỉ số chọn lọc kém không tốt hơn nhiều so với quét bảng.

8

Một câu trả lời hoàn chỉnh là chủ đề của nhiều cuốn sách và luận văn ;-)

Tuy nhiên, câu trả lời cơ bản là tất cả các RDBMS hiện đại có một vài tính năng: Thứ nhất, họ có một truy vấn tối ưu đó là rất hiệu quả. Điều này tìm thấy một con đường tốt (không phải luôn luôn là tốt nhất) để trả lời truy vấn được cung cấp. Tất nhiên, điều này thực sự có thể làm nhiều hơn để giúp các câu hỏi phức tạp hơn những câu hỏi đơn giản.

Thứ hai, chúng lưu trữ dữ liệu ở định dạng có cấu trúc dễ tìm kiếm. Dữ liệu không có chỉ số nhóm được gọi là một đống, và điều này thường ít hiệu quả hơn để tìm kiếm, nhưng nó vẫn là dữ liệu có cấu trúc. Dữ liệu nói chung sẽ có một chỉ số nhóm trên đó mà đơn đặt hàng hợp lý dữ liệu. (Một số người tin rằng nó thể chất đặt hàng dữ liệu. Có một số sự thật cho điều này, nhưng nó không phải là hoàn toàn đúng sự thật. Itzik Ben Gan amoungst những người khác có một bài viết tuyệt vời debunking niềm tin này).

Ngoài chỉ mục nhóm, các chỉ mục không được nhóm thường được sử dụng. Đây là những chỉ mục trong một cuốn sách có thể giúp cho trình tối ưu hóa truy vấn tìm kiếm dữ liệu được yêu cầu hoặc trong một số trường hợp cụ thể, chỉ mục có thể có tất cả dữ liệu cần thiết.

Đây tất nhiên là sự đơn giản hóa quá mức và khủng khiếp. Nếu bạn muốn có một mức độ sâu hiểu, hãy chuẩn bị để theo đuổi một PHD trong lý thuyết cơ sở dữ liệu. Đối với một sự hiểu biết mức độ chung, bạn có thể xem một cuốn sách về internals cơ sở dữ liệu. Đối với SQL Server nói riêng, SQL Server 2008 Internals có rất nhiều thông tin về chủ đề này.

+0

Tôi quan tâm đến việc đọc bài viết bạn tham khảo trong đoạn thứ hai (thứ ba?) – RCIX

+0

Nhìn vào Tạp chí SQL Server ID InstantDoC# 92886 – TimothyAWiseman

Các vấn đề liên quan