Phân tích và tối ưu hóa câu lệnh SQL

96 3.3K 58
Phân tích và tối ưu hóa câu lệnh SQL

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phân tích và tối ưu hóa câu lệnh SQL

Hà Nội - 1998đại học quốc gia hà nộiTrờng Đại Học Khoa Học Tự NhiênKhoa Công nghệ Thông tinĐặng Tiểu HùngPhân tích tối u hoá câu lệnh SQL Trên Hệ Cơ sở dữ liệu ORACLEGiáo viên hớng dẫn:1. Ths Trần Xuân Thuận2. Ths Lê HuyGiáo viên phản biện:Ths Đào Kiến QuốcLuận văn tốt nghiệp cử nhân khoa họcNgành Tin học Mã số: 01-02-10 Vietebooks Nguyn Hong CngMục lụcMục lục .2Lời giới thiệu 4Chơng I Hệ cơ sở dữ liệu quan hệ ngôn ngữ hỏi có cấu trúc sql. 6A - Hệ cơ sở dữ liệu quan hệ .61. Quan hệ các phép toán đại số quan hệ .62. Cơ sở dữ liệu 83. Mô hình cơ sở dữ liệu quan hệ 84. Hệ quản trị cơ sở dữ liệu .95. Hệ tiên đề phụ thuộc hàm 96. Các dạng chuẩn trong CSDL quan hệ .10B. Giới thiệu về Ngôn ngữ hỏi có cấu trúc SQL .121. Khái niệm về ngôn ngữ SQL .122. Các đặc điểm của ngôn ngữ SQL 133. Các loại câu lệnh SQL thao tác với dữ liệu cần quan tâm khi tối u. 13Chơng II CSDL phân tán theo mô hình Client - Server của Oracle .15A. Khái niệm về CSDL phân tán .15B. Mô hình xử lý Client-Server 16C. Hệ quản trị CSDL Oracle 18Chơng III Phơng pháp tối u hoá trong Hệ CSDL Oracle 23A. Các khái niệm cần biết để tối u hoá .231. Khái niệm về tối u hoá .232. Chiến lợc tối u trên các trên các biểu thức quan hệ 233. Các kiểu phân lớp trong CSDL Oracle 254. Các kiểu kết nối trong Oracle 285. Các phơng thức truy nhập dữ liệu 306. Các luật tối u 36B. Phân tích cách thi hành câu lệnh SQL 40C. Các bớc tối u hoá .421. Định giá biểu thức hoặc điều kiện .432. Chuyển dạng câu lệnh 463. Tối u hoá câu lệnh truy nhập trên VIEW 484. Chọn luật để tối u hoá 495. Chọn phơng thức truy nhập tới hàng .506. Chọn thao tác kết nối .50D. Kết luận về phơng pháp tối u trong Oracle 521. Tối u bằng việc thay đổi các thực thể 522. Tối u các Table space 543. Tối u vùng nhớ hệ thống SGA .544. Tối u hoá sử dụng Index 56Trang 2 Vietebooks Nguyn Hong Cng5. Tối u bằng thay đổi câu lệnh SQL .576. Thêm các chỉ thị thực hiện vào trong câu lệnh .58Chơng IV Giới thiệu tối u hóa câu lệnh SQL trong hệ tính hoá đơn quản lý khách hàng công ty cấp nớc Thành phố Hồ chí minh .63A. Giới thiệu về hệ chơng trình Tính hoá đơn quản lý khách hàng 63 1. Đặt vấn đề .632. Phân tích bài toán .643. Giải quyết bài toán .71B. Cách thức tìm ra những lệnh cần tối u trong phần mềm 72C. Thực hiện tối u phần mềm Quản lý hoá đơn nớc .731. Tối u bằng sử dụng Index 732. Tối u bằng thêm chỉ thị thực hiện thay đổi câu lệnh SQL .76Kết luận .79Tài liệu tham khảo .81Phụ lục 82Phụ lục A Các lệnh phân tích đối tợng phân tích câu lệnh 82Phụ lục B Tối u câu lệnh trên view Trong phần mềm tra cứu văn bản pháp qui83Phụ lục C giới thiệu quá trình tối u câu lệnh kết nối trong phần mềm tra cứu văn bản pháp qui .90Phụ lục D Tối u hoá bằng sử dụng Index kết hợp với Hint Text Trong phần mềm Tra cứu Văn bản Pháp qui .93Trang 3 Vietebooks Nguyn Hong CngLời giới thiệuTrong tình hình hiện nay các doanh nghiệp có nhiều chi nhánh đặt ở nhiều nơi với khối lợng dữ liệu lớn, đa ngời dùng, thờng sử dụng cơ sở dữ liệu phân tán. Do đó các phần mềm máy tính hỗ trợ nghiệp vụ kinh doanh của các doanh nghiệp cũng phải đợc tổ chức sử dụng hệ phân tán một cách hợp lý.Tuy nhiên tốc độ xử lý của các phần mềm quản lý có khối lợng dữ liệu lớn nằm phân tán sẽ trở nên vô cùng chậm, không đáp ứng đợc các yêu cầu của ngời sử dụng. Điều này đòi hỏi các nhà phát triển phần mềm không những phải xây dựng đợc những phần mềm lớn, đa ngời dùng mà còn phải không ngừng nghiên cứu đa ra các giải pháp tối u hoá câu lệnh, nhằm từng bớc nâng cao tốc độ xử lý giảm giá thành của phần mềm. Qua tìm hiểu nghiên cứu quá trình xây dựng một số phần mềm lớn ở Việt Nam thì quá trình tối u hoá câu lệnh của các Hệ chơng trình rất có ý nghĩa vì kinh phí đầu t của các doanh nghiệp cho các thiết bị phần cứng bớc đầu còn rất hạn chế. Cho nên giải pháp tối u hoá đến từng câu lệnh càng trở nên quan trọng hơn trong việc đảm bảo sự tồn tại phát triển của phần mềm. Điều này luôn luôn có ý nghĩa lớn ngay cả khi các yêu cầu về phần cứng đợc đáp ứng vì chỉ cần một câu lệnh không đợc tối u sẽ làm tăng thời gian chạy rất nhỏ nhng khi trong hệ chơng trình lớn, đa ngời dùng thì câu lệnh đó có thể đợc thực hiện lặp lại nhiều lần thời gian tơng ứng chung của cả hệ thống sẽ tăng lên rất nhiều.Trong quá trình tối u đối với một phần mềm, vấn đề đặt ra là làm sao có thể cải thiện hiệu suất của phần mềm trong điều kiện hiện có thời gian thực thi không tăng lên quá nhanh khi dữ liệu tăng lên nhiều (có thể từ hàng chục ngàn đến hàng triệu bản ghi).Đề tài của luận văn là Phân tích tối u hoá câu lệnh SQL trên Hệ CSDL ORACLE Luận văn bao gồm những nội dung chính nh sau:1. Hệ CSDL ngôn ngữ SQL.2. Kiến trúc CSDL Oracle.3. Tìm hiểu quá trình thực hiện câu lệnh SQL đa ra một số nguyên nhân làm câu lệnh thực hiện kém hiệu quả. 4. Các phơng pháp tối u hoá câu lệnh SQL trên CSDL Oracle.5. Thực hiện tối u trên Hệ tính hoá đơn quản lý khách hàng của công ty cấp nớc TP HCM, Hệ tra cứu Văn bản pháp qui trên Web.Trang 4 Vietebooks Nguyn Hong CngTrọng tâm của luận văn là đề xuất cải tiến các phơng pháp tối u hoá câu lệnh SQL các cây phân tích câu lệnh SQL nhằm đa ra các chỉ mục (Index) thích hợp, tác động đến quá trình thực hiện lệnh làm tăng tốc độ chơng trình. Bớc đầu những cải tiến mà luận văn đề xuất đã thu đợc những kết quả đáng khích lệ nh tăng tốc độ thực hiện lên khoảng ba lần với phần mềm Tính hoá đơn tăng lên hàng chục lần đối với phần mềm tra cứu Văn bản pháp qui. Hơn thế những kết quả nghiên cứu của luận văn về phơng pháp tối u có thể dễ dàng áp dụng cho các phần mềm CSDL khác.Cuối cùng em chân thành cảm ơn sự hỗ trợ hớng dẫn tận tình của thầy giáo Hà Quang Thụy, thầy Trần Xuân Thuận, anh Lê Huy, anh Vũ Mạnh Cờng, chị Hoàng A Na cùng toàn thể các thầy giáo, cô giáo khoa Công Nghệ Thông Tin, các anh chị nhân viên Công ty CSE các bạn đã giúp đỡ em rất nhiều trong quá trình thực tập, nghiên cứu về đề tài hoàn thành luận văn này.Hà Nội - 1998Trang 5 Vietebooks Nguyn Hong CngChơng I Hệ cơ sở dữ liệu quan hệ ngôn ngữ hỏi có cấu trúc sqlA - Hệ cơ sở dữ liệu quan hệ1. Quan hệ các phép toán đại số quan hệ1.1. Quan hệQuan hệ là một tập con của tích Đề-các của một hoặc nhiều miền. Nh vậy một quan hệ có thể là vô hạn. ở đây luôn luôn giả thiết rằng quan hệ là một tập hữu hạn. Mỗi hàng của một quan hệ gọi là một bộ, khi đó quan hệ là tập con của tích Đề-các D1ìD2ìD3ì .ìDn là quan hệ n ngôi. Mỗi bộ của quan hệ có n thành phần (thờng hiểu là n cột). Các cột của quan hệ gọi là các thuộc tính. Có thể định nghĩa quan hệ theo cách hình thức nh sau: Gọi R={A1, A2, ., An} là tập hữu hạn các thuộc tính, mỗi thuộc tính Ai với i=1, 2, ., n có miền giá trị tơng ứng là dom(Ai). Quan hệ trên tập thuộc tính R={ A1, A2, ., An} là tập con của tích Đề-các, r dom(A1) ì dom(A2) ì .ì dom(An). Khi đó kí hiệu r(R) hoặc r(A1, A2, ., An) là quan hệ.1.2. Khoá của lợc đồ quan hệKhoá (Key) của quan hệ r trên tập thuộc tính R={A1, .An} là tập con KR sao cho bất kì hai bộ khác nhau t1, t2 r luôn thoả t1(K)t2(K).Điều này có nghĩa là lợc đồ quan hệ không có hai bộ giống nhau trên mọi thuộc tính của R.1.3. Các phép toán đại số quan hệGọi r s là quan hệ trên tập thuộc tính R={A1, A2, .,An} R1={B1,B2, .,Bn}.Giả thiết rằng quan hệ r, s là tập hữu hạn các bộ. Đối với các phép hợp, giao trừ, hai quan hệ tham gia phải là khả hợp. Hợp của hai quan hệTrang 6 Vietebooks Nguyn Hong CngKí hiệu hợp của hai quan hệ r s là r s.Biểu diễn hình thức có dạng: r s ={t/ts hoặc tr hoặc tr s} Phép giaoKí hiệu giao của hai quan hệ r s là r s. Biểu diễn hình thức có dạng: r s ={t/tr s} Phép trừ Kí hiệu r-s là tập các bộ thuộc r nhng không thuộc s. Biểu diễn hình thức có dạng: r-s={t/t r t s}. Tích Đề-các trên các quan hệTích Đề-các của r s là tập (n*m) bộ với n thành phần đầu có dạng một bộ thuộc r m thành phần sau có dạng của một bộ thuộc s. Biểu diễn hình thức có dạng: r ì s={t/t có dạng (a1,a2, .,an,b1,b2, .,bn) trong đó (a1,a2, .,an r ) (b1,b2, .,bn s)} Phép chiếuGọi t là một bộ thuộc r, A R, t[A] là giá trị của bộ tại thuộc tính A, X R. Với X={B1,B2, .,Bn} thì t[X]=(t[B1],t[B2], .,t[Bn]). Phép chiếu trên tập X của quan hệ r kí hiệu là r[X] đợc định nghĩa nh sau:r[X]={t[X]/t r}.Thực chất của phép chiếu là loại bỏ đi một số thuộc tính giữ lại những thuộc tính còn lại của quan hệ đó Phép chọnGiả sử F đợc diễn tả bằng một tổ hợp Boolean của các toán hạng, mỗi toán hạng là một phép so sánh đơn giản giữa hai biến là hai thuộc tính, hoặc một bên là thuộc tính một bên là hằng, cho giá trị "đúng" hoặc "sai" đối với mỗi bộ đã cho khi kiểm tra riêng trên bộ đấy.Trong F có các phép toán so sánh là {<, =, >, >=, <=, }, các phép logic là {, , ơ}.Biểu diễn hình thức có dạng: ơF(r)={t r | F(t)=đúng}Trang 7 Vietebooks Nguyn Hong Cng Phép kết nốiGọi là một trong các phép so sánh {=, >=, >, <, <=, <>}, phép kết nối đợc định nghĩa nh sau:Phép kết nối của quan hệ r đối với thuộc tính A với quan hệ s đối với thuộc tính B là: r >< s = {(tu)tr, us t[A] u[B]}với giả thiết mỗi giá trị của thuộc tính t[A] đều có thể so sánh đợc với giá trị của thuộc tính u[B] (qua phép so sánh ). Trờng hợp là dấu "=" gọi là kết nối bằng hay còn gọi là kết nối tự nhiên. Khi đó kết nối tại thuộc tính cùng tên của hai quan hệ một trong hai thuộc tính đó sẽ đợc loại bỏ qua phép chiếu. Phép chiaGọi r là quan hệ n-ngôi s là quan hệ m-ngôi (n>m, s ). Khi đó phép chia đợc định nghĩa nh sau: Phép chia r ữ s là tập tất cả (n-m) bộ t sao cho với mọi bộ u s thì t u r.2. Cơ sở dữ liệuCơ sở dữ liệu (CSDL) là mô hình thực thể phản ánh thế giới thực đợc đề cập đến, do đó nó là sự trừu tợng hoá của thế giới thực. CSDL là nguồn dữ liệu cho mọi hệ thống thông tin dựa trên máy tính, những dữ liệu này đợc lu giữ trong máy tính đợc tổ chức dựa trên một qui định nào đó nhằm giảm thiểu đợc sự d thừa đảm bảo sự thống nhất với nhau (toàn vẹn dữ liệu).Trong lịch sử phát triển của CSDL có 3 mô hình CSDL chính đợc sử dụng là: Mô hình phân cấp: Mô hình dữ liệu là một cây trong đó các nút biểu diễn các tập thực thể, giữa các nút con các nút cha đợc liên hệ theo một mối liên hệ xác định. Mô hình mạng: Mô hình đợc biểu diễn là một đồ thị có hớng. Mô hình quan hệ: Mô hình này dựa trên cơ sở khái niệm lý thuyết tập hợp của các quan hệ, tức là tập các k-bộ.3. Mô hình cơ sở dữ liệu quan hệKhái niệm toán học của mô hình CSDL quan hệ (hiểu theo nghĩa lí thuyết tập hợp) thì quan hệ là tập con của tích Đề-các (đợc gọi là miền). Gọi D1, D2, D3 . Trang 8 Vietebooks Nguyn Hong CngDn là n miền. Tích Đề-các n miền là D1ìD2ìD3ì .ìDn là tập tất cả n bộ (v1,v2,v3, .,vn) sao cho viDi, với i=1, 2, ., n.4. Hệ quản trị cơ sở dữ liệu Hệ chơng trình để có thể quản lý, tổ chức lu trữ, cho phép tìm kiếm, thay đổi, thêm bớt dữ liệu trong CSDL đợc gọi là Hệ quản trị CSDL. Hệ quản trị CSDL có nhiệm vụ rất quan trọng là giúp ngời dùng có thể sử dụng đợc hệ thống mà ít nhiều không cần quan tâm tới thuật toán chi tiết hoặc biểu diễn dữ liệu trong máy tính .5. Hệ tiên đề phụ thuộc hàmKhái niệm phụ thuộc hàm trong một quan hệ là một khái niệm rất quan trọng đối với việc xây dựng mô hình dữ liệu. Trong các hệ thống thông tin quản lý khi cần thiết kế CSDL quan hệ thờng đòi hỏi phải chọn lợc đồ các quan hệ. Việc chọn các lợc đồ này tốt hơn hay xấu hơn lợc đồ khác đợc dựa trên một số các tiêu chuẩn cụ thể nào đó. Do đó cần phải nghiên cứu tính chất cơ bản cũng nh các thuật toán để có thể nhận đợc những tập lợc đồ phù hợp. Trọng tâm của công việc này là xét đến các phụ thuộc dữ liệu, nghĩa là các mối ràng buộc có thể có hiện hữu của lợc đồ. Chẳng hạn nh thuộc tính này xác định duy nhất thuộc tính kia. Ví dụ trong công việc quản lý tập hoá đơn thì mã hoá đơn xác định duy nhất một khách hàng thanh toán hoá đơn đó.Cho R(U) là một lợc đồ quan hệ với U = {A1, A2, .An} là tập hợp các thuộc tính. Giả sử có X Y là tập con của U.Nói rằng X Y (X xác định hàm Y hay Y phụ thuộc vào hàm X) nếu bất kì r là một quan hệ xác định trên R(U) sao cho bất kì hai bộ t1, t2 r màt1[X] = t2[X] thì t1[Y] = t2[Y]Phụ thuộc hàm kí hiệu là FD. Cần lu ý rằng ở đây chỉ xét các phụ thuộc hàm thoả mãn cho mọi quan hệ trên lợc đồ tơng ứng của nó. Không thể xem xét một phụ thuộc hàm thoả mãn quan hệ r đặc biệt (ví dụ quan hệ rỗng) của một lợc đồ R rồi sau đó qui nạp rằng phụ thuộc đó là thoả mãn trên R.Ví dụ: Mỗi khách hàng tồn tại vừa đúng với một giá trị tơng ứng với từng thuộc tính nh: Tên khách hàng, địa chỉ .v.v có thể viết nh sau:khách hàng Tên khách hàng, khách hàng Địa chỉ, Gọi F là tập hợp các phụ thuộc hàm đối với lợc đồ quan hệ R(U) XY là một phụ thuộc hàm, X, YU. Nói rằng X Y đợc suy diễn logic từ F nếu mối quan hệ r trên R(U) đều thoả mãn các phụ thuộc hàm của F thì cũng thoả X Y. Chẳng hạn có tập phụ thuộc hàm F = {A B, B C} thì A C suy ra Trang 9 Vietebooks Nguyn Hong Cngtừ F. Gọi F+ là bao đóng (Closure) của F, tức là tập tất cả các phụ thuộc hàm đợc suy diễn logic từ F. Nếu F = F+ thì F là họ đầy đủ (Full Family) của phụ thuộc hàm.Để xác định khoá của lợc đồ quan hệ các suy diễn logic giữa các phụ thuộc hàm cần thiết phải tính đợc F+ từ F. Do đó đòi hỏi phải có các hệ tiên đề. Tập các qui tắc đợc Armstrong đa ra năm 1974 thờng đợc gọi là hệ tiên đề Armstrong.Gọi R(U) là lợc đồ quan hệ với U = {A1, A2, . An} là tập các thuộc tính X, Y, Z U. Hệ tiên đề Armstrong bao gồm: A1 (Phản xạ): Nếu YX thì X Y A2 (Tăng trởng): Nếu ZU X Y thì XZ YZ, trong đó kí hiệu XZ là hợp của hai tập hợp X, Z thay cho kí hiệu XZ A3 (Bắc cầu): Nếu X Y Y Z thì X ZVới những lập luận trên có thể rút ra những nhận xét: Giả sử F là tập các phụ thuộc hàm đúng trên quan hệ r. Nếu X Y là một phụ thuộc hàm đợc suy dẫn từ F nhờ hệ tiên đề Armstrong thì X Y là đúng trên quan hệ r.Những kết luận suy ra từ hệ tiên đề Armstrong:a. Luật hợp: Nếu X Y X Z thì X YZb. Luật tựa bắc cầu: Nếu X Y WY Z thì WXZc. Luật tách: Nếu X Y ZY thì X Z6. Các dạng chuẩn trong CSDL quan hệDo việc cập nhật dữ liệu (các phép tính nh thêm, loại bỏ, thay đổi) gây nên những dị thờng dữ liệu cho nên các quan hệ cần thiết phải đợc biến đổi thành các dạng phù hợp. Quá trình đó đợc xem là quá trình chuẩn hoá. Quan hệ đợc chuẩn hoá là quan hệ mà trong đó mỗi miền của một thuộc tính chỉ chứa những giá trị nguyên tố (Atomic) nghĩa là không phân nhỏ đợc nữa do đó mỗi giá trị trong quan hệ cũng là nguyên tố.Quan hệ có chứa các miền giá trị không nguyên tố gọi là quan hệ không chuẩn hoá. Một quan hệ đợc chuẩn hoá có thể thành một hoặc nhiều quan hệ chuẩn hoá khác không làm mất mát thông tin.Ba dạng chuẩn hoá thờng đợc sử dụng trong thiết kế CSDL quan hệTrang 10 [...]... cách sau để tối u hoá loại câu lệnh này. ã Kết hợp View vào trong câu lệnh sau đó tối u câu lệnh mới này. ã Kết hợp câu lệnh vào trong View sau đó tối u câu lệnh mới này. ã Thay vì phải lấy ra tất cả các hàng, các cột từ View, Oracle sẽ chỉ lấy ra tập hợp các hàng, các cột với câu lệnh yêu cầu. 3.1. Kết hợp View vào câu lệnh Nếu kết hợp View vào câu lệnh, Oracle sẽ thay tên của View trong câu lệnh bằng... nhiều câu lệnh mà có thể có công thức tối u hoá thành công. Đôi khi thì Oracle sẽ chuyển một câu lệnh thành câu lệnh tơng đơng có hiệu quả hơn. Trong phần này sẽ thảo luận về những dạng câu lệnh có thể tạo ra: + Chuyển những câu lệnh chứa OR thành những câu lệnh ghép nối với nhau bằng UNION ALL + Chuyển các câu lệnh phức hợp thành câu lệnh kết nối. 2.1. Chuyển những câu lệnh chứa OR thành những câu. .. thì việc tối u hoá câu lệnh SQL không đơn thuần là tối u mà câu lệnh mà còn có thể thay câu lệnh SQL bằng câu lệnh SQL khác cho ra cùng kết quả nhng thực hiện hiệu quả hơn, điều chỉnh các tham số hệ thống để tài nguyên dành cho câu lệnh là hợp lý nhất, thay đổi các thực thể quan hệ giữa các thực thể cho câu lệnh thực hiện nhanh hơn. Chú ý rằng việc tối u hoá không nhất thiết phải đúng là tối u... hoá 23 1. Khái niệm về tối u hoá 23 2. Chiến lợc tối u trên các trên các biểu thức quan hệ 23 3. Các kiểu phân lớp trong CSDL Oracle 25 4. Các kiểu kết nối trong Oracle 28 5. Các phơng thức truy nhập dữ liệu 30 6. Các luật tối u 36 B. Phân tích cách thi hành câu lệnh SQL 40 C. Các bớc tối u hoá 42 1. Định giá biểu thức hoặc điều kiện 43 2. Chuyển dạng câu lệnh 46 3. Tối u hoá câu lệnh truy nhập trên VIEW... nghĩa câu lệnh bằng những ngời phát triển phần mềm. Do vậy phát triển phần mềm sẽ phải tự tiến hành tối u câu lệnh để cho nó đợc hoàn thiện hơn. Với bất kì một câu lệnh SQL nào đợc thực hiện bởi Oracle thì bộ tối u hoá sẽ làm các công việc sau: ã Định trị các biểu thức điều kiện: Oracle sẽ tiến hành tính toán các biểu thức điều kiện thành các giá trị hằng một cách tối đa. ã Chuyển đổi câu lệnh: ... dụng lệnh EXPLAIN PLAN để mỗi khi thực hiện câu lệnh thì Oracle sẽ đa ra các chú giải về cây phân tích đợc thực hiện. C. Các bớc tối u ho¸ Cã thĨ tèi u ho¸ ë møc øng dơng bằng cách xây dựng các bảng, lựa chọn giải pháp Index, các View thích hợp. Sau đó sẽ tối u ở mức câu lệnh bằng cách thay đổi lại câu lệnh để nó đợc thực hiện có hiệu quả hơn. Mặc dù Oracle có thể hỗ trợ cho việc tối u câu lệnh. .. đáp ứng các yêu cầu từ phía User Process. Giữa User Process Server Process luôn có sự liên hệ với nhau. Quá trình thực hiện của Server Process theo một số bớc sau : + Phân tích cú pháp các câu lệnh SQL (Parse). + Thi hành các câu lệnh SQL (Excute). + Trả lại kết quả thực hiện các câu lệnh SQL cho User Process (Fetch). Tríc khi d÷ liƯu cã thĨ truy cập đợc thì Server Process phải đợc thực hiện... MÃPhòng MÃNhânViên thì câu lệnh mới sẽ làm cho phơng thức truy nhập bằng Index sẵn dùng. 3.2. Kết hợp câu lệnh vào trong View sau đó tối u câu lệnh mới này Khi View có chứa các toán tử tập hợp (UNION, UNION ALL, INTERSECT, MINUS), mệnh đề GROUP BY, mệnh đề CONNECT BY, toán tử DISTINCT, các hàm thao tác trên nhiều hàng (AVG, COUNT, MAX, MIN, SUM) thì không thể kết hợp View vào trong câu lệnh mà... trúc SQL 12 1. Khái niệm về ngôn ngữ SQL 12 2. Các đặc điểm của ngôn ngữ SQL 13 3. Các loại câu lệnh SQL thao tác với dữ liệu cần quan tâm khi tối u. 13 Chơng II CSDL phân tán theo mô hình Client - Server của Oracle 15 A. Khái niệm về CSDL phân tán 15 B. Mô hình xử lý Client-Server 16 C. Hệ quản trị CSDL Oracle 18 Chơng III Phơng pháp tối u hoá trong Hệ CSDL Oracle 23 A. Các khái niệm cần biết để tối. .. nhiều lên thì thời gian thực hiện các câu lên sẽ tăng theo hệ số nhân, do đó cần thiết phải biến đổi các câu hỏi cho hợp lý để giảm thời gian tính toán. Vậy có thể định nghĩa khái niệm tối u hoá nh sau: Tối u hoá (optimization) câu lệnh SQL là một quá trình để tạo điều kiện cho câu lệnh SQL đa ra kết quả đạt hiệu quả cao nhất hiểu theo nghĩa thời gian đáp ứng sử dụng tài nguyên hệ thống là nhỏ . hiện câu lệnh SQL và đa ra một số nguyên nhân làm câu lệnh thực hiện kém hiệu quả. 4. Các phơng pháp tối u hoá câu lệnh SQL trên CSDL Oracle.5. Thực hiện tối. phơng pháp tối u hoá câu lệnh SQL và các cây phân tích câu lệnh SQL nhằm đa ra các chỉ mục (Index) thích hợp, tác động đến quá trình thực hiện lệnh làm tăng

Ngày đăng: 22/08/2012, 09:53

Hình ảnh liên quan

Mô hình kiến trúc của Oracle Server có thể chia ra làm ba khối cơ bản nh sau: - Phân tích và tối ưu hóa câu lệnh SQL

h.

ình kiến trúc của Oracle Server có thể chia ra làm ba khối cơ bản nh sau: Xem tại trang 21 của tài liệu.
Khi mà các bảng đợc Index thì cùng với giá trị của trờng Index còn có các ROWID . Tuỳ theo giá trị của cột Index có là khoá duy nhất hay không thì tơng ứng  với một khoá của Index có thể có một hoặc có nhiều ROWID - Phân tích và tối ưu hóa câu lệnh SQL

hi.

mà các bảng đợc Index thì cùng với giá trị của trờng Index còn có các ROWID . Tuỳ theo giá trị của cột Index có là khoá duy nhất hay không thì tơng ứng với một khoá của Index có thể có một hoặc có nhiều ROWID Xem tại trang 25 của tài liệu.
Trong bảng Index thì mỗi cột ứng với một đề mục trong cột Index, ví dụ cột KhuVực=KV1 thì giá trị 1 ứng với hàng của Bảng SinhViên có KhuVực=KV1,  ng-ợc lại là giá trị 0. - Phân tích và tối ưu hóa câu lệnh SQL

rong.

bảng Index thì mỗi cột ứng với một đề mục trong cột Index, ví dụ cột KhuVực=KV1 thì giá trị 1 ứng với hàng của Bảng SinhViên có KhuVực=KV1, ng-ợc lại là giá trị 0 Xem tại trang 26 của tài liệu.
Giả sử để lấy ra mọi thuộc tính của bảng sinh viên với điều kiện sinh viên là nữ ở khu vực KV2 và KV3 với câu lệnh: - Phân tích và tối ưu hóa câu lệnh SQL

i.

ả sử để lấy ra mọi thuộc tính của bảng sinh viên với điều kiện sinh viên là nữ ở khu vực KV2 và KV3 với câu lệnh: Xem tại trang 26 của tài liệu.
Bảng NhânViên - Phân tích và tối ưu hóa câu lệnh SQL

ng.

NhânViên Xem tại trang 27 của tài liệu.
• Dữ liệu của bảng đợc lu trữ trong Cluster chỉ đợc truy nhập nếu có chỉ mục phân lớp. - Phân tích và tối ưu hóa câu lệnh SQL

li.

ệu của bảng đợc lu trữ trong Cluster chỉ đợc truy nhập nếu có chỉ mục phân lớp Xem tại trang 28 của tài liệu.
Oracle sẽ duyệt toàn bộ các bảng và chia (băm) chúng ra thành nhiều đoạn dựa vào bộ nhớ có sẵn. - Phân tích và tối ưu hóa câu lệnh SQL

racle.

sẽ duyệt toàn bộ các bảng và chia (băm) chúng ra thành nhiều đoạn dựa vào bộ nhớ có sẵn Xem tại trang 29 của tài liệu.
Oracle xây dựng một bảng băm từ các đoạn này (nếu có thể Oracle sẽ chọn một đoạn đặt vừa vùng bộ nhớ có sẵn) - Phân tích và tối ưu hóa câu lệnh SQL

racle.

xây dựng một bảng băm từ các đoạn này (nếu có thể Oracle sẽ chọn một đoạn đặt vừa vùng bộ nhớ có sẵn) Xem tại trang 30 của tài liệu.
5. Các phơng thức truy nhập dữ liệu - Phân tích và tối ưu hóa câu lệnh SQL

5..

Các phơng thức truy nhập dữ liệu Xem tại trang 30 của tài liệu.
Oracle chỉ có thể chọn một thành phần truy nhập trong bảng đã liệt kê cho một bảng nếu câu lệnh chứa mệnh đề điều kiện  FROM   hoặc những cấu trúc khác làm  cho các cách truy nhập trở thành có thể dùng đợc. - Phân tích và tối ưu hóa câu lệnh SQL

racle.

chỉ có thể chọn một thành phần truy nhập trong bảng đã liệt kê cho một bảng nếu câu lệnh chứa mệnh đề điều kiện FROM hoặc những cấu trúc khác làm cho các cách truy nhập trở thành có thể dùng đợc Xem tại trang 31 của tài liệu.
Truy nhập bảng (Duyệt toàn bộ) - Phân tích và tối ưu hóa câu lệnh SQL

ruy.

nhập bảng (Duyệt toàn bộ) Xem tại trang 41 của tài liệu.
Cách 1: Phải thực hiện kết nối các bảng CUSTOMERS (khách hàng), STREETS - Phân tích và tối ưu hóa câu lệnh SQL

ch.

1: Phải thực hiện kết nối các bảng CUSTOMERS (khách hàng), STREETS Xem tại trang 53 của tài liệu.
Bảng NhânViên Cluster chứa bảng NhânViên - Phân tích và tối ưu hóa câu lệnh SQL

ng.

NhânViên Cluster chứa bảng NhânViên Xem tại trang 57 của tài liệu.
FULL: Sử dụng phơng thức duyệt toàn bộ với một bảng đặc biệt bằng chỉ dẫn FULL(&lt;tên bảng hoặc bí danh&gt;)  và nên sử dụng bí danh (alias) cho tên bảng. - Phân tích và tối ưu hóa câu lệnh SQL

d.

ụng phơng thức duyệt toàn bộ với một bảng đặc biệt bằng chỉ dẫn FULL(&lt;tên bảng hoặc bí danh&gt;) và nên sử dụng bí danh (alias) cho tên bảng Xem tại trang 59 của tài liệu.
Loại hình thi công M  yêu cầu vàã - Phân tích và tối ưu hóa câu lệnh SQL

o.

ại hình thi công M yêu cầu vàã Xem tại trang 66 của tài liệu.
LoạI hình thi công M  yêu cầuã - Phân tích và tối ưu hóa câu lệnh SQL

o.

ạI hình thi công M yêu cầuã Xem tại trang 67 của tài liệu.
Tình hình thanh toán Điều chỉnh hoá đơn Khuyến khíchkhách hàngPhạtkhách hàngGán đợthoá đơnPhân khuđọc sốIn sổ ghi chỉ - Phân tích và tối ưu hóa câu lệnh SQL

nh.

hình thanh toán Điều chỉnh hoá đơn Khuyến khíchkhách hàngPhạtkhách hàngGán đợthoá đơnPhân khuđọc sốIn sổ ghi chỉ Xem tại trang 68 của tài liệu.
Mô hình tổng thể mạng máy tính - Phân tích và tối ưu hóa câu lệnh SQL

h.

ình tổng thể mạng máy tính Xem tại trang 71 của tài liệu.
 Câu lệnh tính hoá đơn dựa trên bảng hoá đơn cơ sở (Based_Bill): begin :X0 := SP_WBL_CALCULATE_BASED_BILL(:CUST_ID_, :SUB_CUST_ID_,  - Phân tích và tối ưu hóa câu lệnh SQL

u.

lệnh tính hoá đơn dựa trên bảng hoá đơn cơ sở (Based_Bill): begin :X0 := SP_WBL_CALCULATE_BASED_BILL(:CUST_ID_, :SUB_CUST_ID_, Xem tại trang 74 của tài liệu.
Bảng so sánh thời gian thực hiện procedure trớc và sau khi tạo Index - Phân tích và tối ưu hóa câu lệnh SQL

Bảng so.

sánh thời gian thực hiện procedure trớc và sau khi tạo Index Xem tại trang 74 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan