Sự khác biệt giữa Cluster và Non Cluster Index

Anonim

Các chỉ mục của Cluster và Non Cluster Index

rất quan trọng trong bất kỳ cơ sở dữ liệu nào. Chúng được sử dụng để cải thiện hiệu suất thu thập dữ liệu từ các bảng. Chúng có tính cách logic và thể chất không phụ thuộc vào dữ liệu trong các bảng kết hợp. Do đó, chỉ mục có thể được thả, tái tạo và xây dựng lại mà không ảnh hưởng đến dữ liệu của các bảng cơ sở. Oracle server có thể tự động duy trì các chỉ mục của nó mà không cần bất kỳ sự tham gia của DBA, khi các bảng liên quan được chèn vào, cập nhật và xóa. Có một số loại chỉ mục. Dưới đây là một số trong số họ.

1. Chỉ số cây B- 2. Chỉ mục bitmap

3. Chỉ số dựa trên chức năng

4. Chỉ số đảo chiều

5. Chỉ số chùm B-tree

Chỉ số Non-Cluster là gì?

Từ các loại chỉ mục trên, sau đây là các chỉ mục không được nhóm.

• Chỉ mục B-tree

• Chỉ mục bitmap

• Chỉ số dựa trên chức năng

• Chỉ số đảo ngược-chỉ số

Chỉ mục B-tree là loại chỉ mục cơ sở dữ liệu được sử dụng rộng rãi nhất. Nếu lệnh CREATE INDEX được phát hành trên cơ sở dữ liệu, không chỉ định một loại, máy chủ Oracle sẽ tạo ra một chỉ mục cây b. Khi một chỉ mục cây b được tạo ra trên một cột cụ thể, máy chủ oracle lưu các giá trị của cột và giữ một tham chiếu đến hàng thực tế của bảng.

Các chỉ mục bitmap được tạo ra khi dữ liệu cột không được chọn lọc. Điều đó có nghĩa là dữ liệu cột có tỷ lệ cardinality thấp. Đây là những thiết kế đặc biệt cho các kho dữ liệu, và nó không phải là tốt để sử dụng các chỉ mục bitmap trên bảng updatable cao hoặc giao dịch.

Các chỉ mục chức năng đến từ Oracle 8i. Ở đây, một chức năng được sử dụng trong cột được lập chỉ mục. Do đó, trong một chỉ mục chức năng, dữ liệu cột không được sắp xếp theo cách thông thường. Nó sắp xếp các giá trị của các cột sau khi áp dụng hàm. Đây là những điều rất hữu ích khi WHERE đóng của truy vấn chọn được sử dụng một chức năng.

Các chỉ mục khóa ngược là một kiểu chỉ mục rất thú vị. Giả sử một cột chứa nhiều chuỗi dữ liệu duy nhất như 'cityA', 'cityB', 'cityC' … vv Tất cả các giá trị có một mẫu. Bốn nhân vật đầu tiên là cùng một phần và tiếp theo được thay đổi. Vì vậy, khi tạo chỉ mục chính REVERSE trên cột này, Oracle sẽ đảo ngược chuỗi và khôi phục nó trong một chỉ mục cây b.

Các loại chỉ mục nói trên là các chỉ mục KHÔNG CẤP. Điều đó có nghĩa là, dữ liệu được lập chỉ mục được lưu trữ bên ngoài bảng, và một tham chiếu được sắp xếp vào bảng được lưu giữ.

Chỉ số Clustered là gì?

Các chỉ mục nhóm là một loại chỉ mục đặc biệt. Nó lưu trữ dữ liệu theo cách lưu dữ liệu bảng vật lý. Vì vậy, không thể có nhiều chỉ số nhóm cho một bảng. Một bảng có thể chỉ có một chỉ mục nhóm.

Sự khác biệt giữa chỉ số Clustered và Non-Clustered là gì?

1. Bảng có thể chỉ có một chỉ mục nhóm, nhưng có thể có tới 249 chỉ mục không được nhóm trong một bảng.

2. Chỉ mục nhóm được tạo tự động khi một khoá chính được tạo ra, nhưng một chỉ mục không được nhóm lại được tạo ra khi một khoá duy nhất được tạo ra.

3. Thứ tự logic của chỉ mục nhóm phù hợp với thứ tự vật lý của dữ liệu bảng, nhưng trong các chỉ mục không được nhóm, nó không.