Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng kèo bóng đá euro trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá euro phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

14.1.Sử kèo bóng đá eurokèo bóng đá euro

PostgreSQLnghĩ ra AKế hoạch truy vấnĐối với mỗi truy vấn mà nó nhận được. Chọn đúng kế hoạch để phù hợp với cấu trúc truy vấn và kèo bóng đá euro thuộc tính của dữ liệu là hoàn toàn quan trọng cho hiệu suất tốt, vì vậy hệ thống bao gồm một phức tạpPlannerĐiều đó cố gắng chọn các kế hoạch tốt. Bạn có thể sử kèo bóng đá eurokèo bóng đá euroLệnh để xem kế hoạch truy vấn nào mà người lập kế hoạch tạo cho bất kỳ truy vấn nào. Đọc kế hoạch là kèo bóng đá euro nghệ thuật đòi hỏi kèo bóng đá euro số kinh nghiệm để làm chủ, nhưng phần này cố gắng bao gồm những điều cơ bản.

Ví dụ trong phần này được rút ra từ cơ sở dữ liệu kiểm tra hồi quy sau khi thực hiệnPhân tích chân không, Sử kèo bóng đá euro 9.3 Nguồn phát triển. Bạn sẽ có thể nhận được kết quả tương tự nếu bạn tự mình thử các ví dụ, nhưng chi phí ước tính và số lượng hàng của bạn có thể thay đổi một chút vìPhân tíchS thống kê là kèo bóng đá euro mẫu ngẫu nhiên chứ không phải chính xác và vì chi phí vốn có phụ thuộc vào nền tảng.

Các ví dụ sử kèo bóng đá eurokèo bóng đá euro'mặc địnhTextHồiĐịnh dạng đầu ra, nhỏ gọn và thuận tiện cho con người đọc. Nếu bạn muốn cho ănkèo bóng đá eurođầu ra của chương trình để phân tích thêm, bạn nên sử kèo bóng đá euro một trong các định dạng đầu ra có thể đọc được bằng máy (XML, JSON hoặc YAML) thay thế.

14.1.1.kèo bóng đá euroKhái niệm cơ bản

Cấu trúc của kế hoạch truy vấn là câyKế hoạch kèo bóng đá euro nút. kèo bóng đá euro nút ở cấp dưới của cây là kèo bóng đá euro nút quét: chúng trả lại kèo bóng đá euro hàng thô từ một bảng.Giá trịkèo bóng đá euro điều khoản và kèo bóng đá euro chức năng hoàn trả lại trongtừ, có kèo bóng đá euro loại nút quét riêng của chúng. Nếu truy vấn yêu cầu tham gia, tập hợp, sắp xếp hoặc kèo bóng đá euro hoạt động khác trên kèo bóng đá euro hàng thô, thì sẽ có kèo bóng đá euro nút bổ sung phía trên kèo bóng đá euro nút quét để thực hiện kèo bóng đá euro hoạt động này.kèo bóng đá euroCó một dòng cho mỗi nút trong cây kế hoạch, hiển thị loại nút cơ bản cộng với ước tính chi phí mà người lập kế hoạch thực hiện để thực hiện nút kế hoạch đó. kèo bóng đá euro dòng bổ sung có thể xuất hiện, được thụt vào từ dòng tóm tắt của nút, để hiển thị kèo bóng đá euro thuộc tính bổ sung của nút.

Đây là kèo bóng đá euro ví dụ tầm thường, chỉ để hiển thị đầu ra trông như thế nào:

kèo bóng đá euro Chọn * từ Tenk1;

Vì truy vấn này không cóWHEREmệnh đề, nó phải quét tất cả các hàng của bảng, vì vậy người lập kế hoạch đã chọn sử kèo bóng đá euro gói quét tuần tự đơn giản. Các số được trích dẫn trong ngoặc đơn (từ trái sang phải):

  • Chi phí khởi động ước tính. Đây là thời gian được sử kèo bóng đá euro trước khi pha đầu ra có thể bắt đầu, ví dụ: thời gian để thực hiện sắp xếp trong một nút sắp xếp.

  • Tổng chi phí ước tính. Điều này được nêu trên giả định rằng nút kế hoạch được chạy để hoàn thành, tức là, tất cả kèo bóng đá euro hàng có sẵn đều được truy xuất.Giới hạnVí dụ bên dưới).

  • Số lượng kèo bóng đá euro ước tính đầu ra theo nút kế hoạch này. Một lần nữa, nút được giả định là chạy để hoàn thành.

  • Độ rộng trung bình ước tính của đầu ra kèo bóng đá euro theo nút kế hoạch này (tính bằng byte).

Chi phí được đo bằng kèo bóng đá euro đơn vị tùy ý được xác định bởi kèo bóng đá euro tham số chi phí của kế hoạch (xemPhần 19.7.2). Thực tiễn truyền thống là để đo lường chi phí trong kèo bóng đá euro đơn vị của trang đĩa Fetches;SEQ_PAGE_COSTđược đặt thành thông thường1.0Và kèo bóng đá euro tham số chi phí khác được đặt liên quan đến điều đó. kèo bóng đá euro ví dụ trong phần này được chạy với kèo bóng đá euro tham số chi phí mặc định.

Điều quan trọng là phải hiểu rằng chi phí của một nút cấp trên bao gồm chi phí của tất cả kèo bóng đá euro nút con của nó. Điều quan trọng nữa là nhận ra rằng chi phí chỉ phản ánh những điều mà người lập kế hoạch quan tâm.

Thekèo bóng đá euroGiá trị là một chút khó khăn vì nó không phải là số lượng kèo bóng đá euro được xử lý hoặc quét bởi nút kế hoạch, mà là số phát ra từ nút. Điều này thường ít hơn số được quét, do kết quả của việc lọc bởi bất kỳWHERE-Chlause Điều kiện đang được áp kèo bóng đá euro tại nút. Lý tưởng nhất là ước tính các hàng cấp cao nhất sẽ xấp xỉ số lượng hàng thực sự được trả về, cập nhật hoặc bị xóa bởi truy vấn.

Trở về ví dụ của chúng tôi:

kèo bóng đá euro Chọn * từ TENK1;

Những con số này có nguồn gốc rất đơn giản. Nếu bạn làm:

16778_16847

Bạn sẽ tìm thấy điều đóTENK1Có 358 trang đĩa và 10000 hàng. Chi phí ước tính được tính là (kèo bóng đá euro trang đĩa đọc *SEQ_PAGE_COST) + (kèo bóng đá euro được quét *cpu_tuple_cost). Theo mặc định,SEQ_PAGE_COSTlà 1.0 vàcpu_tuple_costlà 0,01, vì vậy chi phí ước tính là (358 * 1.0) + (10000 * 0,01) = 458.

Bây giờ hãy sửa đổi truy vấn để thêmWHEREđiều kiện:

kèo bóng đá euro Chọn * từ Tenk1 trong đó độc đáo1 <7000;

Lưu ý rằngkèo bóng đá euroĐầu ra hiển thịWHEREmệnh đề được áp kèo bóng đá euro dưới dạngHồiFilterkèo bóng đá euroĐiều kiện được gắn vào nút Kế hoạch quét SEQ. Điều này có nghĩa là nút kế hoạch kiểm tra điều kiện cho mỗi hàng mà nó quét và chỉ xuất ra kèo bóng đá euro nút vượt qua điều kiện.WHEREmệnh đề. Tuy nhiên, quét vẫn sẽ phải truy cập tất cả 10000 kèo bóng đá euro, vì vậy chi phí chưa giảm;CPU_OPERATOR_COST, chính xác) để phản ánh thời gian CPU thêm dành cho việc kiểm traở đâuđiều kiện.

Số lượng kèo bóng đá euro thực tế mà truy vấn này sẽ chọn là 7000, nhưngkèo bóng đá euroƯớc tính chỉ gần đúng. Nếu bạn cố gắng sao chép thí nghiệm này, có lẽ bạn sẽ nhận được kèo bóng đá euro ước tính hơi khác;Phân tíchlệnh, vì kèo bóng đá euro số liệu thống kê được tạo bởiPhân tíchđược lấy từ kèo bóng đá euro mẫu ngẫu nhiên của bảng.

Bây giờ, hãy làm cho điều kiện hạn chế hơn:

kèo bóng đá euro Chọn * từ Tenk1 trong đó độc đáo1 <100;

Ở đây người lập kế hoạch đã quyết định sử kèo bóng đá euro kế hoạch hai bước: nút Kế hoạch con truy cập một chỉ mục để tìm các vị trí của các hàng phù hợp với điều kiện chỉ mục, và sau đó nút kế hoạch trên thực sự lấy các hàng đó từ bảng. Lấy các hàng riêng biệt đắt hơn nhiều so với việc đọc chúng theo tuần tự, nhưng vì không phải tất cả các trang của bảng phải được truy cập, điều này vẫn rẻ hơn so với quét tuần tự.HồiBitmapxôngĐược đề cập trong tên nút là cơ chế sắp xếp.)

Bây giờ hãy thêm kèo bóng đá euro điều kiện khác vàoWHEREmệnh đề:

kèo bóng đá euro Chọn * từ TENK1 trong đó độc đáo1 <100 và StringU1 = 'xxx';

Điều kiện được thêm vàoStringU1 = 'xxx'Giảm ước tính số lượng kèo bóng đá euro đầu ra, nhưng không phải là chi phí vì chúng tôi vẫn phải truy cập cùng một bộ kèo bóng đá euro. Lưu ý rằngStringU1mệnh đề không thể được áp kèo bóng đá euro làm điều kiện chỉ mục, vì chỉ mục này chỉ nằm trênđộc đáo1Cột. Thay vào đó, nó được áp kèo bóng đá euro như một bộ lọc trên các hàng được lấy bởi chỉ mục.

Trong kèo bóng đá euro số trường hợp, người lập kế hoạch sẽ thíchMạnhđơn giảnHồiKế hoạch quét chỉ mục:

kèo bóng đá euro Chọn * từ TENK1 trong đó độc đáo1 = 42;

Trong loại kế hoạch này, kèo bóng đá euro hàng bảng được tìm nạp theo thứ tự chỉ mục, điều này khiến chúng còn đắt hơn để đọc, nhưng có rất ít chi phí sắp xếp kèo bóng đá euro vị trí hàng không đáng giá. Bạn thường thấy loại kế hoạch này cho kèo bóng đá euro truy vấn chỉ lấy một hàng.Đặt kèo bóng đá euro bởiĐiều kiện phù hợp với thứ tự chỉ mục, vì sau đó không cần bước sắp xếp bổ sung để đáp ứngĐặt kèo bóng đá euro bởi.

Nếu có kèo bóng đá euro chỉ mục riêng biệt trên một số cột được tham chiếu trongWHERE, Người lập kế hoạch có thể chọn sử kèo bóng đá euro và hoặc hoặc kết hợp các chỉ mục:

kèo bóng đá euro Chọn * từ TENK1 trong đó duy nhất1 <100 và duy nhất2 9000;

Nhưng điều này yêu cầu truy cập cả hai chỉ mục, do đó, nó không nhất thiết phải là một chiến thắng so với chỉ sử kèo bóng đá euro một chỉ mục và coi điều kiện khác như một bộ lọc. Nếu bạn thay đổi các phạm vi liên quan, bạn sẽ thấy kế hoạch thay đổi tương ứng.

Đây là một ví dụ hiển thị kèo bóng đá euro hiệu ứng củaGiới hạn:

kèo bóng đá euro Chọn * từ TENK1 trong đó độc đáo1 <100 và độc đáo2 9000 giới hạn 2;

Đây là cùng kèo bóng đá euro truy vấn như trên, nhưng chúng tôi đã thêm Agiới hạnđể không phải tất cả kèo bóng đá euro hàng cần được truy xuất và người lập kế hoạch đã thay đổi suy nghĩ về những việc cần làm. Lưu ý rằng tổng chi phí và số lượng hàng của nút quét chỉ mục được hiển thị như thể nó đã được chạy để hoàn thành.

Hãy thử tham gia hai bảng, sử kèo bóng đá euro các cột chúng tôi đã thảo luận:

kèo bóng đá euro Chọn *

Trong kế hoạch này, chúng tôi có nút nối vòng lồng nhau với hai lần quét bảng làm đầu vào hoặc trẻ em. Sự thụt của kèo bóng đá euro dòng tóm tắt nút phản ánh cấu trúc cây kế hoạch.Buter, con là một bản quét bitmap tương tự như những gì chúng ta đã thấy trước đó. Chi phí và số lượng kèo bóng đá euro của nó giống như chúng ta nhận được từChọn ... trong đó độc đáo1 <10Bởi vì chúng tôi đang áp kèo bóng đá euroWHEREmệnh đềđộc đáo1 <10Tại nút đó. Thet1.Unique2 = t2.unique2mệnh đề chưa liên quan, vì vậy nó không ảnh hưởng đến số lượng kèo bóng đá euro của quét bên ngoài. Nút nối vòng lặp lồng nhau sẽ chạy thứ hai hoặcHồibên trongHồiTrẻ em một lần cho mỗi hàng thu được từ đứa trẻ bên ngoài. kèo bóng đá euro giá trị cột từ hàng bên ngoài hiện tại có thể được cắm vào quét bên trong;T1.Unique2Giá trị từ kèo bóng đá euro bên ngoài có sẵn, vì vậy chúng tôi nhận được một kế hoạch và chi phí tương tự như những gì chúng tôi đã thấy ở trên cho một đơn giảnChọn ... WHERE t2.unique2 =hằng sốtrường hợp. (Chi phí ước tính thực sự thấp hơn kèo bóng đá euro chút so với những gì đã thấy ở trên, do kết quả của bộ nhớ đệm dự kiến ​​sẽ xảy ra trong quá trình quét chỉ số lặp đi lặp lại trênT2)

Trong ví dụ này, số lượng kèo bóng đá euro đầu ra của tham gia giống như sản phẩm của hai lần quét, nhưng điều đó không đúng trong mọi trường hợp vì có thể có thêmWHERECác điều khoản đề cập đến cả hai bảng và do đó chỉ có thể được áp kèo bóng đá euro tại điểm nối, không phải để quét đầu vào. Đây là một ví dụ:

kèo bóng đá euro Chọn *

Điều kiệnt1.hundred <t2.hundredKhông thể kiểm tra trongtenk2_unique2INDEX, vì vậy nó được áp kèo bóng đá euro tại nút nối. Điều này làm giảm số lượng hàng đầu ra ước tính của nút nối, nhưng không thay đổi quét đầu vào.

Lưu ý rằng ở đây người lập kế hoạch đã chọn đểMật vậtHồiMối quan hệ bên trong của tham gia, bằng cách đặt kèo bóng đá euro nút kế hoạch vật chất hóa trên nó. Điều này có nghĩa làT2SCAN INDEX sẽ được thực hiện chỉ một lần, mặc dù nút nối vòng lặp lồng nhau cần đọc dữ liệu đó mười lần, một lần cho mỗi kèo bóng đá euro từ quan hệ bên ngoài. Nút vật chất sẽ lưu dữ liệu trong bộ nhớ khi đọc và sau đó trả về dữ liệu từ bộ nhớ trên mỗi lần truyền tiếp theo.

Khi giao dịch với kèo bóng đá euro kết nối bên ngoài, bạn có thể thấy kèo bóng đá euro nút kế hoạch tham gia với cả haiTham gia bộ lọcvà PlainFilterĐiều kiện đính kèm. Tham gia kèo bóng đá euro điều kiện bộ lọc đến từ bên ngoài tham giatrênmệnh đề, do đó, một hàng không thành công điều kiện bộ lọc nối vẫn có thể được phát ra dưới dạng hàng null. Nhưng một điều kiện bộ lọc đơn giản được áp kèo bóng đá euro sau các quy tắc tham gia bên ngoài và do đó có tác kèo bóng đá euro loại bỏ các hàng vô điều kiện.

Nếu chúng ta thay đổi tính chọn lọc của truy vấn kèo bóng đá euro chút, chúng ta có thể nhận được kèo bóng đá euro kế hoạch tham gia rất khác:

kèo bóng đá euro Chọn *

Ở đây, người lập kế hoạch đã chọn sử kèo bóng đá euro tham gia băm, trong đó các hàng của một bảng được nhập vào bảng băm trong bộ nhớ, sau đó bảng khác được quét và bảng băm được thử nghiệm cho các trận đấu với mỗi hàng. Một lần nữa lưu ý cách thụt đầu tư phản ánh cấu trúc kế hoạch: quét bitmap trênTENK1là đầu vào cho nút băm, cấu trúc bảng băm. Sau đó, được trả lại cho nút nối băm, đọc kèo bóng đá euro hàng từ gói con bên ngoài của nó và tìm kiếm bảng băm cho mỗi cái.

kèo bóng đá euro loại tham gia khác có thể là sự kết hợp hợp nhất, được minh họa ở đây:

kèo bóng đá euro Chọn *

Hợp nhất tham gia yêu cầu dữ liệu đầu vào của nó được sắp xếp trên kèo bóng đá euro phím tham gia. Trong kế hoạch nàyTENK1Dữ liệu được sắp xếp bằng cách sử kèo bóng đá euro quét chỉ mục để truy cập các hàng theo đúng thứ tự, nhưng quét và sắp xếp tuần tự được ưu tiên choOnek, bởi vì có nhiều kèo bóng đá euro khác được truy cập trong bảng đó. .

32299_32462Phần 19.7.1. (Đây là kèo bóng đá euro công cụ thô, nhưng hữu ích. Xem thêmPhần 14.3.) Ví dụ, nếu chúng ta không bị thuyết phục rằng quét liên tiếp là cách tốt nhất để đối phó với bảngOnekTrong ví dụ trước, chúng ta có thể thử

Đặt enable_sort = off;

trong đó cho thấy người lập kế hoạch nghĩ rằng sắp xếpOnekbằng cách quét chỉ số đắt hơn khoảng 12% so với quét liên tiếp. Tất nhiên, câu hỏi tiếp theo là liệu nó có đúng về điều đó không.kèo bóng đá euro Phân tích, như được thảo luận dưới đây.

14.1.2.kèo bóng đá euro Phân tích

Có thể kiểm tra độ chính xác của ước tính của người lập kế hoạch bằng cách sử kèo bóng đá eurokèo bóng đá euro'sPhân tíchTùy chọn. Với tùy chọn này,kèo bóng đá euro34365_34531kèo bóng đá euroHiển thị. Ví dụ: chúng ta có thể nhận được kết quả như thế này:

kèo bóng đá euro Phân tích Chọn *

Lưu ý rằngThời gian thực tếKhănkèo bóng đá euro giá trị ở mili giây của thời gian thực, trong khichi phíƯớc tính được thể hiện bằng kèo bóng đá euro đơn vị tùy ý; Vì vậy, họ không có khả năng phù hợp.

Trong một số gói truy vấn, có thể thực hiện một nút con được thực thi nhiều lần. Ví dụ: quét chỉ mục bên trong sẽ được thực hiện một lần trên mỗi kèo bóng đá euro bên ngoài trong kế hoạch vòng lặp lồng trên.vòng lặpGiá trị báo cáo tổng số lần thực thi của nút và kèo bóng đá euro giá trị thời gian và hàng thực được hiển thị là trung bình trên mỗi lần thực hiện. Điều này được thực hiện để làm cho kèo bóng đá euro con số tương đương với cách mà ước tính chi phí được hiển thị.vòng lặpGiá trị để có được tổng thời gian thực sự dành cho nút. Trong ví dụ trên, chúng tôi đã chi tổng cộng 0,220 mili giây để thực hiện kèo bóng đá euro lần quét chỉ mục trênTENK2.

Trong kèo bóng đá euro số trường hợpkèo bóng đá euro Phân tíchHiển thị số liệu thống kê thực thi bổ sung ngoài thời gian thực hiện nút kế hoạch và số lượng hàng. Ví dụ: kèo bóng đá euro nút sắp xếp và băm cung cấp thêm thông tin:

kèo bóng đá euro Phân tích Chọn *

Nút sắp xếp hiển thị phương thức sắp xếp được sử kèo bóng đá euro (đặc biệt, cho dù là loại trong bộ nhớ hay trên đĩa) và lượng bộ nhớ hoặc không gian đĩa cần thiết. Nút băm hiển thị số lượng thùng băm và lô cũng như lượng bộ nhớ cực đại được sử kèo bóng đá euro cho bảng băm.

Một loại thông tin bổ sung khác là số lượng kèo bóng đá euro bị xóa bởi một điều kiện bộ lọc:

kèo bóng đá euro Phân tích Chọn * từ TENK1 trong đó mười <7;

Những số đếm này có thể đặc biệt có giá trị đối với các điều kiện lọc được áp kèo bóng đá euro tại các nút nối. Thekèo bóng đá euro bị loại bỏDòng chỉ xuất hiện khi ít nhất một kèo bóng đá euro được quét hoặc cặp tham gia tiềm năng trong trường hợp của nút nối, bị từ chối bởi điều kiện bộ lọc.

kèo bóng đá euro trường hợp tương tự như điều kiện bộ lọc xảy ra vớiMấtQuét chỉ mục. Ví dụ: hãy xem xét tìm kiếm này cho kèo bóng đá euro đa giác chứa một điểm cụ thể:

kèo bóng đá euro Phân tích Chọn * từ polygon_tbl trong đó f1 @ polygon '(0,5,2,0)';

Người lập kế hoạch nghĩ (khá chính xác) rằng bảng mẫu này quá nhỏ để làm phiền với việc quét chỉ mục, vì vậy chúng tôi có một lần quét tuần tự đơn giản trong đó tất cả kèo bóng đá euro hàng bị từ chối bởi điều kiện lọc. Nhưng nếu chúng ta buộc phải quét chỉ mục, chúng ta sẽ thấy:

Đặt enable_seqscan TẮT;

Ở đây chúng ta có thể thấy rằng chỉ mục đã trả lại một kèo bóng đá euro ứng cử viên, sau đó bị từ chối bởi một điều kiện kiểm tra lại điều kiện. Điều này xảy ra bởi vì một chỉ mục ý chính làMạnhMấtkèo bóng đá euroĐối với kèo bóng đá euro bài kiểm tra ngăn chặn đa giác: Nó thực sự trả về kèo bóng đá euro hàng với kèo bóng đá euro đa giác chồng lên mục tiêu, và sau đó chúng ta phải thực hiện kiểm tra ngăn chặn chính xác trên kèo bóng đá euro hàng đó.

kèo bóng đá eurobộ đệmtùy chọn có thể được sử kèo bóng đá euro vớiPhân tíchĐể có thêm số liệu thống kê thời gian chạy hơn:

kèo bóng đá euro (phân tích, bộ đệm) Chọn * từ TENK1 trong đó độc đáo1 <100 và duy nhất2 9000;

kèo bóng đá euro số được cung cấp bởibộ đệm43024_43096

Hãy nhớ rằng vìkèo bóng đá euro Phân tíchThực tế chạy truy vấn, bất kỳ tác kèo bóng đá euro phụ nào cũng sẽ xảy ra như bình thường, mặc dù bất kỳ kết quả nào mà truy vấn có thể xuất hiện đều được loại bỏ để có lợi cho việc inkèo bóng đá euroDữ liệu. Nếu bạn muốn phân tích truy vấn biến đổi dữ liệu mà không cần thay đổi bảng, bạn có thể cuộn lệnh lại sau đó, ví dụ:

Bắt đầu;

Như đã thấy trong ví dụ này, khi truy vấn làChèn, Cập nhậthoặcXóaLệnh, công việc thực tế của việc áp kèo bóng đá euro các thay đổi bảng được thực hiện bằng một nút chèn, cập nhật hoặc xóa cấp độ cao nhất. Các nút kế hoạch bên dưới nút này thực hiện công việc định vị các hàng cũ và/hoặc tính toán dữ liệu mới.

Khi kèo bóng đá euroCập nhậthoặcXóaLệnh ảnh hưởng đến hệ thống phân cấp kế thừa, đầu ra có thể trông như thế này:

kèo bóng đá euro Cập nhật cha mẹ F2 = F2 + 1 trong đó F1 = 101;

Trong ví dụ này, nút cập nhật cần xem xét ba bảng con cũng như bảng cha mẹ được đề cập ban đầu. Vì vậy, có bốn phân nhóm quét đầu vào, kèo bóng đá euro trên mỗi bảng.PostgreSQL9.5; Trong kèo bóng đá euro phiên bản trước, người đọc phải trực quan kèo bóng đá euro bảng mục tiêu bằng cách kiểm tra kèo bóng đá euro sơ đồ con.)

TheThời gian lập kế hoạchHiển thị bởikèo bóng đá euro Phân tíchlà thời gian cần thiết để tạo kế hoạch truy vấn từ truy vấn được phân tích cú pháp và tối ưu hóa nó. Nó không bao gồm phân tích cú pháp hoặc viết lại.

TheThời gian thực hiệnHiển thị bởikèo bóng đá euro Phân tíchBao gồm thời gian khởi động và tắt máy thực thi, cũng như thời gian để chạy bất kỳ yếu tố kích hoạt nào được bắn, nhưng nó không bao gồm phân tích cú pháp, viết lại hoặc lập kế hoạch thời gian. Thời gian dành để thực hiệntrướcTriggers, nếu có, được bao gồm trong thời gian cho nút chèn, cập nhật hoặc xóa liên quan; Nhưng thời gian dành cho việc thực hiệnsauTriggers không được tính ở đó vìsauKích hoạt được bắn sau khi hoàn thành toàn bộ kế hoạch. Tổng thời gian dành cho mỗi lần kích hoạt (trướchoặcsau) cũng được hiển thị riêng. Lưu ý rằng kèo bóng đá euro kích hoạt ràng buộc hoãn lại sẽ không được thực thi cho đến khi kết thúc giao dịch và do đó không được xem xét bởikèo bóng đá euro Phân tích.

14.1.3.Hãy cẩn thận

Có hai cách quan trọng trong đó thời gian chạy được đo bằngkèo bóng đá euro Phân tíchCó thể đi chệch khỏi việc thực hiện bình thường của cùng một truy vấn. Đầu tiên, vì không có kèo bóng đá euro đầu ra nào được cung cấp cho máy khách, chi phí truyền mạng và chi phí chuyển đổi I/O không được bao gồm.kèo bóng đá euro Phân tíchcó thể có ý nghĩa, đặc biệt là trên kèo bóng đá euro máy có chậmgetTimeOfday ()Cuộc gọi hệ điều hành. Bạn có thể sử kèo bóng đá europg_test_timingCông cụ để đo chi phí thời gian trên hệ thống của bạn.

kèo bóng đá euroKết quả không nên được ngoại suy đến các tình huống khác nhiều so với trường hợp bạn thực sự đang thử nghiệm; Ví dụ, kết quả trên một bàn có kích thước đồ chơi không thể được giả định để áp kèo bóng đá euro cho các bảng lớn.polygon_tblVí dụ ở trên.)

Có những trường hợp trong đó kèo bóng đá euro giá trị thực tế và ước tính sẽ không phù hợp tốt, nhưng không có gì thực sự sai. Một trường hợp như vậy xảy ra khi thực hiện nút kế hoạch bị dừng ngắn bởiGiới hạnhoặc hiệu ứng tương tự. Ví dụ, trongGiới hạnTruy vấn chúng tôi đã sử kèo bóng đá euro trước đó,

kèo bóng đá euro Phân tích Chọn * từ TENK1 trong đó độc đáo1 <100 và độc đáo2 9000 giới hạn 2;

Số lượng chi phí và kèo bóng đá euro ước tính cho nút quét chỉ mục được hiển thị như thể nó đã được chạy để hoàn thành. Nhưng trong thực tế, nút giới hạn đã ngừng yêu cầu kèo bóng đá euro sau khi có hai, vì vậy số lượng kèo bóng đá euro thực tế chỉ là 2 và thời gian chạy ít hơn ước tính chi phí sẽ đề xuất.

Merge tham gia cũng có kèo bóng đá euro tạo tác đo lường có thể gây nhầm lẫn cho sự không sẵn sàng. Tham gia hợp nhất sẽ ngừng đọc một đầu vào nếu nó cạn kiệt đầu vào khác và giá trị khóa tiếp theo trong đầu vào lớn hơn giá trị khóa cuối cùng của đầu vào khác;giới hạn. Ngoài ra, nếu con bên ngoài (thứ nhất) chứa kèo bóng đá euro hàng có giá trị khóa trùng lặp, thì con bên trong (thứ hai) được sao lưu và giải cứu cho phần của kèo bóng đá euro hàng phù hợp với giá trị khóa đó.kèo bóng đá euro Phân tíchĐếm kèo bóng đá euro phát thải lặp đi lặp lại này có cùng kèo bóng đá euro hàng bên trong như thể chúng là kèo bóng đá euro hàng bổ sung thực sự. Khi có nhiều bản sao bên ngoài, số lượng hàng thực tế được báo cáo cho nút Kế hoạch con bên trong có thể lớn hơn đáng kể so với số lượng hàng thực sự trong mối quan hệ bên trong.

kèo bóng đá euro nút bitmapand và bitmapor luôn báo cáo số lượng hàng thực của chúng là số không, do giới hạn thực hiện.

Thông thường,kèo bóng đá euroSẽ hiển thị mọi nút kế hoạch được tạo bởi người lập kế hoạch. Tuy nhiên, có những trường hợp người thực thi có thể xác định rằng một số nút nhất định không cần phải được thực thi vì chúng không thể tạo ra bất kỳ hàng nào, dựa trên kèo bóng đá euro giá trị tham số không có sẵn tại thời điểm lập kế hoạch.kèo bóng đá eurođầu ra và ASubplans bị xóa:nChú thích xuất hiện thay thế.