intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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ý

Chia sẻ: Kiếp Này Bình Yên | Ngày: | Loại File: PPTX | Số trang:58

50
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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ý

  1. Chương 11 Thiết kế và điều chỉnh dữ liệu mức vật lý 1
  2. 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. 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. 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. 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. 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. 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. 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. 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! – Trade­off: (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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2