Chỉ mục so với phân vùng


20

Tại sao không thể đạt được các cải tiến hiệu suất chỉ với các chỉ mục, để các kỹ thuật khác như phân vùng bảng trở nên cần thiết? Câu hỏi chỉ liên quan đến hiệu suất, tất nhiên các phân vùng khác nhau có thể được đặt vào các không gian bảng khác nhau, có các hiệu ứng khác không thể đạt được với các chỉ mục.

Hay nói cách khác, chỉ có hiệu suất khôn ngoan: có thể đạt được những cải tiến hiệu suất tương tự với các chỉ số như với phân vùng bảng không?


2
Thay vì nghĩ đến việc lập chỉ mục và phân vùng là một trong hai giải pháp để cải thiện hiệu suất, bạn nên nghĩ đến cả hai như các công cụ có thể được sử dụng riêng rẽ hoặc kết hợp để đạt được các cải tiến hiệu suất trong cơ sở dữ liệu của bạn.
ScottCher

Câu trả lời:


18

Không, phân vùng cho phép một số bảng quét được giới hạn trong một phân vùng cụ thể. Các chỉ mục có xu hướng vô dụng nếu bạn sẽ trả lại nhiều hơn từ 2 đến 4 phần trăm dữ liệu của bảng. Nếu tiêu chí lựa chọn của bạn cho phép truy vấn được định vị vào phân vùng cụ thể, thì các phân vùng khác sẽ không cần phải quét.

Trình tối ưu hóa có thể chọn sử dụng quét bảng cho một số phân vùng và chỉ mục cho các phân vùng khác. Tôi chưa thấy bất kỳ kế hoạch giải thích nào cho thấy điều đó đang xảy ra.

Nếu bạn có nhiều dữ liệu lịch sử, thì có thể xây dựng các truy vấn cho dữ liệu hiện tại để giới hạn các phân vùng được coi là những dữ liệu có chứa dữ liệu hiện tại.


3
Tôi bạn đang tạo phân vùng. Hãy chắc chắn chọn đúng thiết bị lưu trữ cho từng phân vùng. Đặt phân vùng dữ liệu thực tế trên một ổ đĩa tốc độ cao và loại cũ hơn.
Nico

7

Để trả lời trực tiếp câu hỏi cuối cùng của bạn: không, tôi không nghĩ rằng chúng tương đương nhau. Hãy nghĩ về một bảng rất lớn (hàng chục GB) sẽ cần được tìm kiếm cho dữ liệu của một ngày. Sử dụng phân vùng hàng ngày, bạn sẽ chỉ quét dữ liệu của ngày hôm đó, mà không bị phạt không gian, trong khi chỉ mục là một cấu trúc riêng biệt có thể không chứa đủ thông tin (và cũng mất không gian, đó là mối quan tâm khi nói về cơ sở dữ liệu lớn) hoặc có thể không đủ chọn lọc.

Dù sao, các chỉ mục và phân vùng không cạnh tranh cho cùng một lợi ích trong việc sử dụng và hiệu suất. Bạn nên tìm sự cân bằng trong cơ sở dữ liệu của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.