Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 11: Thiết kế và điều chỉnh dữ liệu mức vật lý
lượt xem 4
download
Chương 11 trang bị cho người học những kiến thức về thiết kế và điều chỉnh dữ liệu mức vật lý. Những nội dung cơ bản được trình bày trong chương này gồm có: Thiết kế dữ liệu mức vật lý, lựa chọn Indexes, clustering and indexing, clustering and joins,... Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 11: Thiết kế và điều chỉnh dữ liệu mức vật lý
- Chương 11 Thiết kế và điều chỉnh dữ liệu mức vật lý 1
- 2 Giới thiệu • Đây là một tệp thu gọn, chứa các thông tin (gọi là pointers) về vị trí thực của các bản ghi trong một tệp cơ sở dữ liệu. – Khi truy tìm hoặc xếp loại cơ sở dữ liệu, chương trình sẽ xử dụng bảng index này thay cho toàn bộ cơ sở dữ liệu. – Thao tác theo cách đó sẽ nhanh hơn rất nhiều so với việc truy tìm hay sắp xếp tiến hành trên cơ sở dữ liệu thực. – Index là một bảng phụ lục liệt kê tất cả các từ,
- 3 Thiết kế dữ liệu mức vật lý • Workloads: Việc cần thiết nhất là mô tả chính xác khối Workloads dự kiến gồm các yếu tố : • Một danh sách các truy vấn và tần suất truy vấn • Một danh sách các bản cập nhật • Hiệu suất từng loại truy vấn
- 4 Thiết kế dữ liệu mức vật lý • Đối với mỗi Query chúng ta phải xác định: – Những mối quan hệ. – Những thuộc tính được giữ lại (trong mệnh đề SELECT). – Các thuộc tính có lựa chọn hoặc điều kiện tham gia thể hiện trên chúng (trong mệnh đề WHERE)
- 5 Thiết kế dữ liệu mức vật lý • Đối với mỗi lần Update chúng ta phải xác định: – Các thuộc tính có lựa chọn hoặc điều kiện tham gia thể hiện trên chúng (trong mệnh đề WHERE) – Các loại cập nhật (INSERT, DELETE, UPDATE) – Đối với các lệnh UPDATE các fields được sửa đổi.
- 6 Thiết kế dữ liệu mức vật lý • Câu Query và Update thường có các thông số. Các giá trị của thông số này xác định sự lựa chọn và điều kiện tham gia. • Câu Update có một thành phần Query được sử dụng để tìm ra các Tuples
- 7 Thiết kế dữ liệu mức vật lý • Thiết kế vật lý và điều chỉnh các quyết định: Quyết định quan trọng đưa ra dựa trên những điều sau đây: – Tạo ra những (Index). – Chúng ta nên thay đổi lược đồ khái niệm để nâng cao hiệu suất. – Truy vấn phải thường xuyên được thi hành và phải được viết lại để chạy nhanh hơn.
- 8 Thiết kế dữ liệu mức vật lý • Cần điều chỉnh cơ sở dữ liệu: – Điều chỉnh một cơ sở dữ liệu sau khi nó đã được thiết kế và triển khai là rất quan trọng. – Phân biệt giữa thiết kế cơ sở dữ liệu và điều chỉnh cơ sở dữ liệu là một việc khó. – Phải xem xét quá trình thiết kế nhiều hơn một lần từ một lược đồ khái niệm ban đầu được thiết kế và được thực hiện từ một tập hợp các quyết định (Index) và phân nhóm.
- 9 Lựa chọn Indexes • Phương pháp: Xem xét lần lượt các truy vấn quan trọng nhất. Chọn phương án tốt nhất bằng cách sử dụng các (Indexes) hiện tại, và xem nếu có một kế hoạch tốt hơn để có thể bổ sung thêm (Indexes). – Trước khi tạo ra một index, cũng phải xem xét các tác động đến phần Update trong Workloads! – Tradeoff: (Indexes) có thể thực hiện truy vấn đi nhanh hơn, cập nhật chậm hơn. Yêu cầu thêm không gian đĩa.
- 10 Lựa chọn Indexes • Hướng dẫn 1 (xem index): Không xây dựng (Indexes) truy vấn bao gồm các thành phần truy vấn của việc cập nhật không có lợi ích . Bất cứ khi nào có thể, hãy lựa chọn các Indexes làm tăng tốc hơn một truy vấn. • Hướng dẫn 2 (lựa chọn khóa cần tìm kiếm): Các thuộc tính được đề cập trong một mệnh đề WHERE là ứng cử viên cho Indexing.
- 11 Lựa chọn Indexes • Hướng dẫn 3: Đa thuộc tính các phím tìm kiếm cần được xem xét khi một mệnh đề WHERE có chứa một số điều kiện. • Hướng dẫn 4 (xem cluster): Các (Indexes) trên một mối quan hệ nhất định có thể được nhóm lại, và việc phân nhóm ảnh hưởng đến hiệu suất rất nhiều, do đó, sự lựa chọn (Indexes) của nhóm là rất quan trọng.
- 12 Lựa chọn Indexes • Hướng dẫn 5 (Hash so với cây Index): Khi xem xét điều kiện tham gia: – Hash index trên là thích hợp cho Loops Nested Index. – Nên được nhóm nếu tham gia cột không phải là khóa, và bộ dữ liệu bên trong cần phải được lấy. – Clustered cây B + tham gia cột (s) tốt cho Sort Merge.
- 13 Lựa chọn Indexes • Hướng dẫn 6 (cân bằng chi phí bảo trì Index): Sau khi xây dựng một danh sách Index như mong muốn, hãy xem xét tác động của mỗi Index về các Update trong Workloads
- 14 Ví dụ về cách chọn Indexes • Ví dụ1: SELECT E.ename, D.mgr FROM Employees E, Departments D WHERE D.dname=`Toy' AND E.dno=D.dno – Hash Index trên D.dname chọn ‘Toy'. Vì điều này, index trên D.dno là không cần thiết. – Hash index trên E.dno cho phép chúng ta có được sự kết hợp bên trong bộ Emp cho mỗi bộ Dept bên ngoài.
- 15 Ví dụ về cách chọn Indexes • Nếu index E.age sẵn sàng được tạo ra,thì các Query này cung cấp ít sự thay đổi cho việc thêm vào index E.dno.
- 16 Ví dụ về cách chọn Indexes • Ví dụ 2: SELECT E.ename, D.mgr FROM Emp E, Dept D WHERE E.sal BETWEEN 10000 AND 20000 AND E.hobby=‘Stamps’ AND E.dno=D.dno
- 17 Ví dụ về cách chọn Indexes • Rõ ràng, Emp nên là mối quan hệ bên ngoài. Cho thấy rằng chúng ta xây dựng hash Index trên D.dno. – Index nào chúng ta nên xây dựng trên Emp? • Cây B + trên E.sal có thể được sử dụng, • HOẶC có thể được sử dụng Index trên E.hobby. Chỉ có một trong số này là cần thiết, và điều đó là tốt hơn là phụ thuộc vào việc chọn lọc các điều kiện. – Như một quy tắc ngón tay cái, lựa chọn bình đẳng thêm nhiều lựa chọn hơn so với các lựa
- 18 Ví dụ về cách chọn Indexes • Khi cả hai ví dụ cho thấy, sự lựa chọn các Index được hướng dẫn bởi kế hoạch mà chúng ta mong đợi một cách tối ưu để xem xét cho một truy vấn. Làm tối ưu hóa theo một cách dễ hiểu!
- 19 Clustering and Indexing • Phạm vi truy vấn là candidates tốt để cải thiện với một clustered index : SELECT E.dno FROM Employees E WHERE E.age > 40 – Nếu chúng ta có một cây Index B + về age, chúng ta có thể sử dụng nó để lấy bộ duy nhất đáp ứng Select E.age > 40.
- 20 Clustering and Indexing • Các tinh chỉnh sau đây của các truy vấn trên: SELECT E.dno, COUNT (*) FROM Employees E WHERE E.age > 10 GROUP BY E.dno Nếu cây Index B + có sẵn trên age, chúng ta có thể lấy bộ dữ liệu bằng cách sử dụng nó, sắp xếp các bộ trên dno, và dùng để trả lời các truy vấn.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 1 - Ngô Thùy Linh
31 p | 183 | 25
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Tổng quan hệ quản trị CSDL SQL Server - TS. Lại Hiền Phương
50 p | 114 | 14
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 4 - ĐH Công nghiệp Thực phẩm
92 p | 154 | 11
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - ĐH Công nghiệp Thực phẩm
31 p | 106 | 10
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Giới thiệu - Phạm Thọ Hoàn
14 p | 157 | 9
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Thị Uyên Nhi
33 p | 88 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu (Database Management Systems) - Bài 1.1: Tổng quan về Hệ quản trị cơ sở dữ liệu
5 p | 19 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Mô hình cơ sở dữ liệu quan hệ
8 p | 47 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Phạm Nguyên Thảo
39 p | 83 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Trường Sơn
29 p | 50 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Lê Thị Minh Nguyện
11 p | 71 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Nguyễn Thị Mỹ Dung
33 p | 58 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 1)
32 p | 52 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 3)
61 p | 63 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Lê Thị Minh Nguyện
14 p | 72 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Phạm Nguyên Thảo
44 p | 51 | 3
-
Bài giảng Hệ quản trị cơ sở dữ liệu MSSQL 2005: Chương 7 - Hồ Thị Anh Đào
24 p | 64 | 2
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 8 - Lê Thị Minh Nguyện
5 p | 72 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn