Sự khác biệt giữa B-Tree và Bitmap Sự khác biệt giữa

Anonim

B-Tree và Bitmap

Có hai loại chỉ mục được sử dụng trong Oracle. Đây là B-Tree và Bitmap. Các chỉ mục này được sử dụng để thực hiện điều chỉnh, có hiệu lực làm cho tìm kiếm hồ sơ và lấy chúng khá nhanh. Các hàm chỉ mục tạo ra mục nhập cho tất cả các giá trị xuất hiện trong các cột được lập chỉ mục. Chỉ mục B-Tree là loại được sử dụng bởi các hệ thống OLTP và chủ yếu được thực hiện theo mặc định. Mặt khác, bản đồ bitmap có định dạng nén rất cao, trong hầu hết các trường hợp, được sử dụng trong kho dữ liệu.

Bitmap nói chung có thể được gọi là một phương pháp lập chỉ mục mặc dù có thể tìm kiếm những lợi ích về hiệu suất và tiết kiệm lưu trữ. Việc sử dụng của nó, như đã nói ở trên, chủ yếu là trong môi trường kho dữ liệu. Lý do cho điều này là do cập nhật dữ liệu không thường xuyên và truy vấn ngẫu nhiên được nhiều hơn trong môi trường. Trong việc thực hiện của Bitmap, dữ liệu cardinal thấp được ưa thích. Bitmap là sự lựa chọn ưa thích cho các mục cột có các tùy chọn thấp như giới tính, chỉ có 2 giá trị và được ưa thích. Dữ liệu tĩnh trong kho cũng là một đặc tính tốt của dữ liệu có thể thực hiện tốt bằng Bitmap. Một đặc điểm khác của Bitmap là một dòng các bit, theo đó mỗi bit được thực hiện đến một giá trị cột trong một hàng của một bảng.

Một chỉ mục cây B, mặt khác, là một chỉ mục được tạo ra trên các cột chứa các giá trị rất độc đáo. Chỉ mục B-Tree có các mục đã ra lệnh nơi mỗi mục có giá trị khóa tìm kiếm và một con trỏ dùng để chỉ một hàng và giá trị nhất định. Trong trường hợp một máy chủ tìm thấy một ràng buộc kết hợp liên quan đến giá trị được đề cập, con trỏ được triển khai để lấy ra hàng.

Một trong những khác biệt giữa hai là có trùng lặp thấp và đồng chủ quan cao trong B-Tree, trong khi ngược lại xảy ra trong Bitmap. Bitmap có các trường hợp trùng lặp cao và thấp cordiality. Chỉ mục Bitmap được xem là có lợi hơn đối với chỉ mục B-Tree vì nó có các bảng có hàng triệu hàng vì các cột được chỉ định có cardinality thấp. Các chỉ mục trong Bitmap, do đó, cung cấp một hiệu suất tốt hơn như trái ngược với chỉ số B-Tree.

- B - Cây có vẻ cực kỳ nhanh khi thu thập một bộ dữ liệu nhỏ, trong hầu hết các trường hợp, dữ liệu không được vượt quá 10% kích thước cơ sở dữ liệu. Hai tác phẩm này hoạt động cùng nhau khi có nhiều giá trị khác biệt được lập chỉ mục. Nó cũng là duy nhất cho B-Tree rằng một số chỉ số có thể được hợp nhất để tạo ra một chương trình rất hiệu quả. Mặt khác, bitmap có xu hướng làm việc tốt nhất khi có các giá trị được lập chỉ mục thấp hơn để có hiệu quả tối đa.

Các cây B là người nghèo khi tìm kiếm tập con dữ liệu lớn hơn vượt quá 10% dữ liệu tập hợp con.Bitmap thực hiện thách thức này để mang lại kết quả chất lượng cao vì nó hoạt động tốt hơn khi có ít giá trị khác biệt.

Nếu có nhiều chỉ mục trong một bảng bận rộn sử dụng B-Tree, một vấn đề có thể xuất hiện là do các hình phạt nhỏ được áp đặt khi chèn dữ liệu được lập chỉ mục hoặc trong trường hợp bạn cần chèn và cập nhật dữ liệu được lập chỉ mục. Đây không phải là một vấn đề với Bitmap, vì nó là rất hiệu quả trong chèn và cập nhật các giá trị, bất kể kích thước đó là câu hỏi.

Kết luận

B-Tree và Bitmap là hai loại chỉ mục được sử dụng trong Oracle

Bitmap là một phương pháp lập chỉ mục, cung cấp các lợi ích hiệu suất và tiết kiệm lưu trữ

Chỉ mục B-Tree là một chỉ mục được tạo ra trên các cột có giá trị duy nhất

B-Tree hoạt động tốt nhất với nhiều giá trị được đánh chỉ mục

Bitmap hoạt động tốt nhất với nhiều giá trị được lập chỉ mục khác biệt