Thứ Bảy, 1 tháng 10, 2011

Sử dụng các đối tượng DB2: Tạo các chỉ mục - P5

Một chỉ mục là một đối tượng bổ trợ trong cơ sở dữ liệu, tuy nhiên nó là thiết yếu đối với hiệu năng của ứng dụng cơ sở dữ liệu. Các chỉ mục cho phép các truy vấn truy nhập dữ liệu tiềm tàng hiệu quả hơn. Chỉ mục duy nhất cũng được sử dụng để “bắt buộc phải duy nhất” đối với một số cột dữ liệu.

Một chỉ mục được định nghĩa trên một bảng, trên một tập con của các cột bảng được sử dụng làm khóa chỉ mục. Một chỉ mục lưu giữ các khóa chỉ mục này theo thứ tự sắp xếp. Ngoài việc lưu giữ khóa chỉ mục, mỗi mục chỉ mục gồm có một con trỏ lôgíc, gọi là một ID bản ghi (RID), nó trỏ đến vị trí của một dòng dữ liệu trong một bảng. Bạn có thể chỉ rõ có muốn lưu các mục chỉ mục theo thứ tự tăng dần hoặc giảm dần hay không. Các chỉ mục được lưu giữ tách biệt khỏi dữ liệu bảng.

Bạn có thể lựa chọn để chỉ mục có gom thành cụm (clustering) hay không. Chỉ mục gom cụm cho phép dữ liệu trong bảng được gom thành cụm theo thứ tự như thứ tự của chỉ mục. Chỉ mục gom cụm nâng cao hiệu năng tốt hơn nữa khi một truy vấn truy nhập đến dữ liệu bảng trong cùng một tuần tự như của chỉ mục gom cụm.

Bạn có thể định nghĩa nhiều chỉ mục trên một bảng, nhưng bạn chỉ có một chỉ mục gom cụm cho mỗi bảng, trừ các bảng gom cụm nhiều chiều (Multiple Dimensional Clustering - MDC). Bạn không thể tạo ra các chỉ mục trên một khung nhìn.

Chỉ mục có thể được tạo ra bằng cách sử dụng câu lệnh CREATE INDEX. Bài tập sau đây giải thích cách tạo ra một chỉ mục bằng các công cụ GUI:

B1: Từ Trung tâm điều khiển, chọn xem các chỉ mục. Nhấn Create New Index để khởi chạy thủ thuật tạo chỉ mục.

B2: Từ thủ thuật tạo chỉ mục, chọn bảng trên đó sẽ tạo chỉ mục mới. Chọn HWLD làm lược đồ bảng và AUTHOR làm tên bảng. Định rõ No cho tùy chọn cột XML. Nhấn Next.

B3: Từ trang Name, chọn HWLD làm lược đồ chỉ mục và chỉ rõ AUTHORID là tên chỉ mục. Nhấn Next đi đến trang Column để xác định các cột làm chỉ mục.

B4: Chọn AUTHOR_ID, và nhấn nút > để thêm nó vào bên phải, là danh sách các cột đã chọn làm chỉ mục. Đánh dấu kiểm vào hộp Enforce uniqueness, để bắt buộc cho dữ liệu trong cột AUTHOR_ID là duy nhất. Bao gồm cột (Include columns) là một đặc tính mà DB2 cung cấp để lưu giữ các cột dữ liệu bổ sung như là một bộ phận của chỉ mục để truy nhập dữ liệu nhanh chóng, nhất là khi chỉ quét các chỉ mục (index only scan). Ở đây không chọn bao gồm các cột. Nhấn Next

Hình 17. Thủ thuật tạo chỉ mục

B5: Trang Options cho phép bạn tùy chọn một số lựa chọn hiệu năng của chỉ mục. Đánh dấu kiểm vào Customize performance options.

B6: Chọn các giá trị mặc định. PCTFREE và LEVEL 2 PCTFREE xác định lượng không gian trống để dành lại trên các trang lá (leaf page) và trên các trang chỉ mục mức 2 trong khi tạo chỉ mục. Nếu biết rằng sau này sẽ có nhiều phép chèn thêm vào bảng, bạn có thể muốn tăng thêm giá trị mặc định (là 10%), để tránh chia tách trang chỉ mục khi thực hiện chèn thêm. Nếu MINPCTUSED được chỉ rõ, DB2 sẽ sử dụng giá trị ngưỡng này để xác định khi nào hai trang nằm cạnh nhau, nếu cả hai gần trống, có thể và sẽ được trộn vào nhau. Đặc tính này, nếu được bật cho phép, có thể sẽ giúp giảm bớt được không gian trống trên các trang chỉ mục do các lần xoá bỏ gây ra. Việc tinh chỉnh thích đáng các tham số này giúp cải tiến hiệu quả truy nhập chỉ mục.

B7: Nhấn Next để đến trang Summary.

B8: Từ trang Summary, sử dụng Show SQL để xem câu lệnh CREATE INDEX. Nếu bảng của bạn có dữ liệu, sử dụng Estimate Size để kiểm tra việc sử dụng không gian nhớ cho chỉ mục mới. Nhấn Finish để hoàn tất việc tạo chỉ mục. Thông báo DB20000 phải được phản hồi để cho thấy thủ thuật đã thực hiện thành công. Đóng cửa sổ thông báo này.

B9: Từ trung tâm điều khiển, khung nhìn các chỉ mục, chọn AUTHORID ftrong cột tên chỉ mục. Quan sát các chi tiết đối với chỉ mục này. Nhấn Show Related Objects để xem thông tin về các đối tượng liên quan như bảng cơ sở HWLD.AUTHOR cho chỉ mục này, cũng như vùng bảng TBSP_INDEX1 nơi mà dữ liệu của chỉ mục nằm tại đây. 

Hình 18. Trung tâm điều khiển – Các chỉ mục

Source: Ibm.com

Không có nhận xét nào:

Đăng nhận xét