Để tăng tốc độ xử lý các câu truy vấn, ta có thể sử dụng cấu trúc chỉ số
B-cây (B-Tree: Balance-Tree). Ví dụ đối với Subcube(p,s), ta có thể xây dựng
đánh chỉ số như sau:
• Ips: Tìm những chỉ số mà nó được ghép lại từ chiều p (part) với chiều s (sales).
• Isp: Tìm những chỉ số mà nó được ghép lại từ hai chiều s và p
Ở đây thứ tự các chiều là quan trọng. Cho trước một giá trị của p, ta có thể sử dụng Ips để tìm tất cả các hàng trong Subcube(p,s) mà nó có giá trị p. Tương tự, cho trước cặp (p,s) ta sử dụng Ips để tìm trong Subcube(p,s) những hàng, cột có cặp giá trị đó.
Sử dụng chỉ số B-cây sẽ giúp rút ngắn được thời gian trả lời cho các câu truy vấn. Đối với mỗi View ta có một số cách chỉ số hóa. Ví dụ với Subcube(p,s) ta có thể xây dựng 4 cách đánh chỉ số như sau: Ip(ps), Is(ps),
Ips(ps), Isp(ps).
Trong mỗi trường hợp ta liệt kê các thuộc tính khóa tìm kiếm như là chỉ
số với Subcube(p,s) mà trong đó Index được xây dựng. Mỗi tập con các thuộc tính của một quan sát View, ta có thể xác định một chỉ số theo một thứ tự nào
đó. Như vậy các chỉ số có thể của một khung nhìn View với m thuộc tính là:
0 ! m r m r r = ⎛ ⎞ ⎜ ⎟ ⎝ ⎠ ∑
Như vậy, số các chỉ số là quá lớn. Nói chung, chỉ số có thể hỗ trợ trả lời các câu truy vấn. Để xử lý dữ liệu nhanh, chính xác thì phải xử lý trước về các lát cắt khi một tiền tố (Prefix) của các thuộc tính được chỉ số hóa tương ứng những thuộc tính lựa chọn (Selection Attribute) trong câu truy vấn hay chỉ số
hóa các khung nhìn vào kho dữ liệu.