Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Các khái niệm cơ bản của DB2: Giới thiệu các bảng truy vấn cụ thể hóa Roman Melnyk, Phát triển thông
MIỄN PHÍ
Số trang
24
Kích thước
166.9 KB
Định dạng
PDF
Lượt xem
1982

Các khái niệm cơ bản của DB2: Giới thiệu các bảng truy vấn cụ thể hóa Roman Melnyk, Phát triển thông

Nội dung xem thử

Mô tả chi tiết

Các khái niệm cơ bản của DB2: Giới thiệu các bảng truy vấn cụ thể hóa

Roman Melnyk, Phát triển thông tin DB2

Tóm tắt: Định nghĩa bảng truy vấn cụ thể hóa (MQT) dựa trên kết quả của một

truy vấn. MQT có thể cải thiện đáng kể hiệu suất của truy vấn. Bài viết này giới

thiệu cho bạn các MQT, các bảng tóm tắt, và bảng phân tầng, và bằng các ví dụ

đang làm việc, chỉ cho bạn cách để xây dựng và chạy các bảng truy vấn được cụ

thể hóa.

Bảng truy vấn cụ thể hóa (MQT) là một bảng được xác định dựa trên kết quả của

một truy vấn. Các dữ liệu được chứa trong MQT có nguồn gốc từ một hoặc nhiều

bảng mà dựa vào chúng, người ta cụ thể hoá định nghĩa của bảng truy vấn. Bảng

Tóm tắt (hoặc bảng tóm tắt tự động, AST), quen thuộc với những người sử dụng

cơ sở dữ liệu thông dụng DB2 (UDB) của IBM trong Linux, UNIX, và Windows

(DB2 UDB), được coi là dạng đặc biệt của MQT. Việc chọn đầy đủ là một phần

của định nghĩa của một bảng tóm tắt, chứa mệnh đề GROUP BY để tổng hợp dữ

liệu từ các bảng được tham chiếu trong câu chọn này.

Bạn có thể nghĩ MQT như một loại khung nhìn cụ thể hóa. Cả khung nhìn lẫn các

MQT được xác định dựa trên một truy vấn. Truy vấn mà trên đó khung nhìn dựa

vào được chạy bất cứ khi nào một khung nhìn được tham chiếu; tuy nhiên, trên

thực tế MQT lưu giữ các kết quả truy vấn làm dữ liệu, và bạn có thể làm việc với

các dữ liệu ở trong MQT thay vì các dữ liệu ở trong các bảng nêu ra.

Các bảng truy vấn cụ thể hóa có thể cải thiện một cách đáng kể hiệu suất của các

truy vấn, đặc biệt là các truy vấn phức tạp. Nếu như trình tối ưu xác định rằng một

truy vấn hoặc một phần của một truy vấn có thể được giải bằng cách sử dụng một

MQT, thì truy vấn có thể được viết lại để tận dụng lợi thế của MQT này.

Có thể xác định MQT ở thời gian tạo bảng vì được hệ thống hay người dùng duy

trì. Các phần tiếp theo sẽ giới thiệu cho bạn hai loại MQT, cũng như bảng tóm tắt

và bảng phân tầng. Các ví dụ sau đây yêu cầu kết nối tới cơ sở dữ liệu SAMPLE;

nếu chưa có cơ sở dữ liệu SAMPLE trong hệ thống, thì bạn có thể tạo ra nó bằng

cách nhập lệnh db2sampl từ bất kỳ dấu nhắc lệnh nào.

Các MQT được duy trì bởi hệ thống

Các dữ liệu trong loại này của bảng truy vấn cụ thể hóa được duy trì bởi hệ thống.

Khi bạn tạo MQT loại này, thì bạn có thể xác định dữ liệu bảng sẽ là loại dữ liệu

REFRESH IMMEDIATE (làm mới ngay) hoặc REFRESH DEFERRED (làm mới

sau). Từ khóa REFRESH cho phép bạn xác định cách dữ liệu được được duy trì.

Làm mới sau có nghĩa là các dữ liệu trong bảng có thể được làm mới bất kỳ lúc

nào bằng cách sử dụng câu lệnh REFRESH TABLE. Các MQT, dù là làm mới

ngay hoặc về sau, được hệ thống duy trì, cũng không cho phép các hoạt động

chèn, cập nhật, hoặc xóa được thực hiện đối với chính chúng. Tuy nhiên, các MQT

với REFRESH IMMEDIATE được hệ thống duy trì được cập nhật với các thay

đổi trên bảng nêu ra như kết quả của các phép chèn, cập nhật, hoặc xóa.

Liệt kê 1 cho thấy ví dụ tạo ra một MQT REFRESH IMMEDIATE được hệ thống

duy trì. Bảng có tên EMP dựa trên các bảng EMPLOYEE và DEPARTMENT kể

ra trong cơ sở dữ liệu SAMPLE. Vì các MQT với REFRESH IMMEDIATE yêu

cầu rằng ít nhất một khóa đơn từ mỗi bảng được tham chiếu trong truy vấn xuất

hiện trong danh sách chọn, trước tiên ta xác định một ràng buộc đơn trên cột

EMPNO trong bảng EMPLOYEE và trên cột DEPTNO trong bảng

DEPARTMENT. Mệnh đề DATA INITIALLY DEFERRED đơn giản ngầm ý các

dữ liệu sẽ không được chèn vào bảng như là một phần của câu lệnh CREATE

TABLE. Sau khi được tạo, MQT ở trạng thái chờ kiểm tra (xem bảng

Demystifying và các trạng thái của không gian bảng), và không thể được truy vấn

cho đến khi câu lệnh SET INTEGRITY thực hiện đối với nó. Mệnh đề

Tải ngay đi em, còn do dự, trời tối mất!