Sau khi chạy thành công lệnh RUNSTATS, không phải tất cả các câu truy vấn sẽ được dùng những thống kê mới nhất. Những sơ đồ truy nhập SQL tĩnh được xác định khi bạn đưa ra lệnh BIND, vì các thống kê được dùng tại thời điểm đó không giống nhau như thời điểm hiện tại.
Tiến trình kết nối SQL tĩnh có thể được hiểu như sau: một chương trình nhúng được viết bằng C ( được lưu trữ như một tệp với phần mở rộng “.c” chứa mã C với tất cả chú thích SQL, và một tệp “.bnd” chứa tất cả các câu lệnh SQL. Tệp C với phần mở rộng “.c” được biên dịch như thường lệ với trình biên dịch C, tạo ra một “thư viện”. Tệp “.bnd” giống như vậy, nó được đóng gói lưu trong cơ sở dữ liệu. Đóng gói thì tương đương với biên dịch các câu lệnh SQL với những sơ đồ truy nhập tốt nhất được xác định trên các thống kê đã có tại thời điểm này, và sau đó lưu chúng thành gói.
Bây giờ, điều gì sẽ xảy ra nếu một triệu dòng được chèn vào bên trong bảng sử dụng trong chương trình nhúng trên. Sau khi chèn, nếu một lệnh RUNSTATS được thực thi, những thống kê sẽ được cập nhật, tuy nhiên gói sẽ không tự động cập nhật để tính toán lại đường dẫn cơ sở trên những thống kê mới nhất. Lệnh db2rbind có thể được dùng để đóng gói lại các gói trên với thống kê mới nhất.
Cú pháp:
db2rbind database_alias -l
Ví dụ:
Để đóng gói lại tất cả các gói của cơ sở dữ liệu sample và lưu nó trong nhật ký tại tệp mylog.txt, thực hiện lệnh sau:
db2rbind sample -l mylog.txt» Tin mới nhất:
» Các tin khác: