Postgresql 9.2.24 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 14. | Tiếp theo |
PostgreSQLnghĩ ra AKế hoạch truy vấnĐối với mỗi truy vấn mà nó nhận được.kế hoạchĐiều đó cố gắng chọn các kế hoạch tốt. Bạn có thểGiải kèo tỷ số bóng đá euro hôm nayLệnh để xem
Ví dụ kèo tỷ số bóng đá euro hôm nay phần này được rút ra từ bài kiểm tra hồi quyPhân tích chân không,Phân tíchThống kê là các mẫu ngẫu nhiên thay vì
Các ví dụ kèo tỷ số bóng đá euro hôm nayGiải kèo tỷ số bóng đá euro hôm nay'mặc định"Text"Định dạng đầu ra, nhỏ gọnGiải kèo tỷ số bóng đá euro hôm nayđầu ra của chương trình để tiếp tục
Cấu trúc của kế hoạch truy vấn là câyKế hoạch các nút. Các nút ở cấp dưới củagiá trịCác điều khoản và các chức năng hoàn trả lại kèo tỷ số bóng đá euro hôm naytừ, có nút quét riêng của họGiải kèo tỷ số bóng đá euro hôm nayCó kèo tỷ số bóng đá euro hôm nay dòng cho
Đây là kèo tỷ số bóng đá euro hôm nay ví dụ tầm thường, chỉ để hiển thị những gì đầu ra
Giải kèo tỷ số bóng đá euro hôm nay 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
Chi phí khởi nghiệp ước tính. Đây là thời gian dành
Tổng chi phí ước tính. Điều này được nêu dựa trên giả địnhgiới hạnVí dụ bên dưới).
Số lượng hàng ước tính đầu ra theo nút kế hoạch này.
Ước tính chiều rộng trung bình của đầu ra hàng theo nút kế hoạch này
Chi phí được đo bằng các đơn vị tùy ý được xác định bởiPhần). Thực tiễn truyền thống là để đo lường chi phí kèo tỷ số bóng đá euro hôm naySEQ_PAGE_COSTđược đặt thành thông thường1.0và
Điều quan trọng là phải hiểu rằng chi phí của cấp trên
ThehàngGiá trị là kèo tỷ số bóng đá euro hôm nay chút khó khănWHERE-Chông điều kiện đó
Trở về ví dụ của chúng tôi:
Giải kèo tỷ số bóng đá euro hôm nay Chọn * từ TENK1;
Những con số này có nguồn gốc rất đơn giản. Nếu bạn
15708_15777
Bạn sẽ tìm thấy điều đóTENK1
cóSEQ_PAGE_COST)cpu_tuple_cost).SEQ_PAGE_COSTlà 1.0 vàCPU_Tuple_Costlà 0,01, vì vậy
Bây giờ hãy sửa đổi truy vấn để thêmWHEREđiều kiện:
Giải kèo tỷ số bóng đá euro hôm nay Chọn * từ Tenk1 trong đó độc đáo1 <7000;
Lưu ý rằngGiải kèo tỷ số bóng đá euro hôm nayđầu raWHEREĐiều khoản đang được áp dụng"Bộ lọc"Điều kiện được đính kèmWHEREmệnh đề.CPU_OPERATOR_COST,,WHEREđiều kiện.
Số lượng hàng thực tế mà truy vấn này sẽ chọn là 7000,hàngƯớc tính chỉPhân tíchLệnh,Phân tíchđược lấy từ kèo tỷ số bóng đá euro hôm nay mẫu ngẫu nhiên của
Bây giờ, hãy làm cho điều kiện hạn chế hơn:
Giải kèo tỷ số bóng đá euro hôm nay Chọn * từ Tenk1 trong đó độc đáo1 <100;
Ở đây người lập kế hoạch đã quyết định kèo tỷ số bóng đá euro hôm nay kế hoạch hai bước: The"Bitmap"được đề cập kèo tỷ số bóng đá euro hôm nay tên nút là cơ chế thực hiện
Bây giờ hãy thêm kèo tỷ số bóng đá euro hôm nay điều kiện khác vàoWHEREmệnh đề:
Giải kèo tỷ số bóng đá euro hôm nay Chọn * từ TENK1 trong đó độc đáo1 <100 và StringU1 = 'xxx';
Điều kiện được thêm vàoStringU1 =Giảm ước tính số lượng hàng đầu ra, nhưng không phảiStringU1mệnh đề không thểđộc đáo1Cột. Thay vào đó là nó
Trong một số trường hợp, người lập kế hoạch sẽ kèo tỷ số bóng đá euro hôm nay"đơn giản"Kế hoạch quét chỉ mục:
Giải kèo tỷ số bóng đá euro hôm nay Chọn * từ TENK1 trong đó độc đáo1 = 42;
kèo tỷ số bóng đá euro hôm nay loại kế hoạch này, các hàng bảng được tìm nạp kèo tỷ số bóng đá euro hôm nay chỉ mụcĐặt hàng bởiĐiều kiện đóĐặt hàng bởi.
Nếu có các chỉ mục trên một số cột được tham chiếu kèo tỷ số bóng đá euro hôm nayWHERE, Người lập kế hoạch có thể chọn kèo tỷ số bóng đá euro hôm nay
Giải kèo tỷ số bóng đá euro hôm nay Chọn * từ TENK1 trong đó độc đáo1 <100 và duy nhất2 9000;
Nhưng điều này yêu cầu truy cập cả hai chỉ mục, vì vậy nó không
Đây là kèo tỷ số bóng đá euro hôm nay ví dụ hiển thị các hiệu ứng củaGiới hạn:
Giải kèo tỷ số bóng đá euro hôm nay Chọn * từ TENK1 trong đó độc đáo1 <100 và độc đáo2 9000 giới hạn 2;
Đây là cùng kèo tỷ số bóng đá euro hôm nay truy vấn như trên, nhưng chúng tôi đã thêm kèo tỷ số bóng đá euro hôm nayGiới hạnđể không phải tất cả các hàng cần
Hãy thử tham gia hai bảng, kèo tỷ số bóng đá euro hôm nay các cột chúng tôi đã
Giải kèo tỷ số bóng đá euro hôm nay Chọn *
kèo tỷ số bóng đá euro hôm nay kế hoạch này, chúng tôi có nút nối vòng lặp lồng nhau với hai bảng"Outer", con là kèo tỷ số bóng đá euro hôm nay bitmapChọn ... ở đâuBởi vì chúng tôi đang áp dụngWHEREmệnh đềĐộc đáo1 <Tại nút đó. Thet1.Unique2 =mệnh đề chưa liên quan, vì vậy nó không"bên kèo tỷ số bóng đá euro hôm nay"Đứa trẻ kèo tỷ số bóng đá euro hôm nay lần cho mỗi hàng thu được từ đứa trẻ bên ngoài. CộtT1.Unique2Giá trị từChọnhằng sốtrường hợp. (Chi phí ước tínhT2.) Chi phí của vòng lặp
kèo tỷ số bóng đá euro hôm nay ví dụ này, số lượng hàng đầu ra của tham gia giống nhưWHEREmệnh đề đề cập đến cả hai bảng và vì vậy
Giải kèo tỷ số bóng đá euro hôm nay Chọn *
Điều kiện thêmt1.hundred <Không thể kiểm tra kèo tỷ số bóng đá euro hôm naytenk2_unique2INDEX, vì vậy nó được áp dụng tại tham gia
Khi giao dịch với các kết nối bên ngoài, bạn có thể thấy các nút kế hoạch tham gia"Tham gia bộ lọc"và đồng bằng"Filter"Điều kiện đính kèm. Tham giatrênmệnh đề, vì vậy kèo tỷ số bóng đá euro hôm nay hàng không thành công bộ lọc tham gia
Nếu chúng ta thay đổi tính chọn lọc của truy vấn kèo tỷ số bóng đá euro hôm nay chút, chúng ta có thể nhận được
Giải kèo tỷ số bóng đá euro hôm nay Chọn *
Ở đây, người lập kế hoạch đã chọn kèo tỷ số bóng đá euro hôm nay một băm tham gia, trong đóTENK1là đầu vào cho nút băm, mà
kèo tỷ số bóng đá euro hôm nay loại tham gia khác có thể là kèo tỷ số bóng đá euro hôm nay sự kết hợp hợp nhất, được minh họa
Giải kèo tỷ số bóng đá euro hôm nay Chọn *
Hợp nhất đều yêu cầu dữ liệu đầu vào của nó được sắp xếp trên tham giaTENK1Dữ liệu làOnek, Vì có nhiều hàng nữa
kèo tỷ số bóng đá euro hôm nay cách để xem xét các kế hoạch biến thể là buộc người lập kế hoạch phảiPhần. (Đây là kèo tỷ số bóng đá euro hôm nay công cụ thô, nhưng hữu ích. Xem thêmPhần 14.3.) Ví dụ,Onekkèo tỷ số bóng đá euro hôm nay
Đặt enable_sort = off;
kèo tỷ số bóng đá euro hôm nay đó cho thấy người lập kế hoạch nghĩ rằng sắp xếpOnekbằng cách quét chỉ mục là khoảng 12%Giải kèo tỷ số bóng đá euro hôm nay Phân tích, như
Có thể kiểm tra độ chính xác của người lập kế hoạchGiải kèo tỷ số bóng đá euro hôm nay'sPhân tíchTùy chọn. Với tùy chọn này,Giải kèo tỷ số bóng đá euro hôm nayThực tế thực hiện truy vấn,Giải kèo tỷ số bóng đá euro hôm nayHiển thị.
Giải kèo tỷ số bóng đá euro hôm nay Phân tích Chọn *
Lưu ý rằng"Thời gian thực tế"Các giá trị ở mili giây của thời gian thực, kèo tỷ số bóng đá euro hôm nay khichi phíƯớc tính được thể hiện bằng các đơn vị tùy ý;
kèo tỷ số bóng đá euro hôm nay một số kế hoạch truy vấn, có thể cho một nút convòng lặpBáo cáo giá trịvòng lặpGiá trị để có được tổng thời gian thực sựtenk2.
kèo tỷ số bóng đá euro hôm nay một số trường hợpGiải kèo tỷ số bóng đá euro hôm nay Phân tíchHiển thị
Giải kèo tỷ số bóng đá euro hôm nay Phân tích Chọn *
Nút sắp xếp hiển thị phương thức sắp xếp được kèo tỷ số bóng đá euro hôm nay (đặc biệt, đặc biệt,
kèo tỷ số bóng đá euro hôm nay loại thông tin bổ sung khác là số lượng hàng
Giải kèo tỷ số bóng đá euro hôm nay 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ị cho bộ lọc"Hàngdòng chỉ xuất hiện khi ít nhất kèo tỷ số bóng đá euro hôm nay người được quét
kèo tỷ số bóng đá euro hôm nay trường hợp tương tự như điều kiện bộ lọc xảy ra với"Mất"Quét chỉ mục. Ví dụ, hãy xem xét điều này
Giải kèo tỷ số bóng đá euro hôm nay 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
đặt enable_seqscan TẮT;
Ở đây chúng ta có thể thấy rằng chỉ mục đã trả lại kèo tỷ số bóng đá euro hôm nay hàng ứng cử viên,"Mất"Đối với các bài kiểm tra ngăn chặn đa giác: Nó
Giải kèo tỷ số bóng đá euro hôm naycó kèo tỷ số bóng đá euro hôm naybộ đệmTùy chọn có thể được kèo tỷ số bóng đá euro hôm nay vớiPhân tíchĐể có thêm số liệu thống kê thời gian chạy:
Giải kèo tỷ số bóng đá euro hôm nay (phân tích, bộ đệm) Chọn * từ TENK1 trong đó độc đáo1 <100 và duy nhất2 9000;
Các số được cung cấp bởibộ đệmGiúp xác định phần nào của truy vấn là nhiều nhất
Hãy nhớ rằng vìGiải kèo tỷ số bóng đá euro hôm nayThực tế chạy truy vấn, mọi tác dụng phụ sẽGiải kèo tỷ số bóng đá euro hôm nayDữ liệu. Nếu bạn muốn phân tích kèo tỷ số bóng đá euro hôm nay
Bắt đầu;
Như đã thấy kèo tỷ số bóng đá euro hôm nay 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
TheTổng thời gian chạyHiển thị bởiGiải kèo tỷ số bóng đá euro hôm nay Phân tíchBao gồm người thực thitrướcTriggers, nếu có, được bao gồm kèo tỷ số bóng đá euro hôm nay thời giansauTriggers thì khôngsauTriggerstrướchoặcsau) cũng được hiển thị riêng.Giải kèo tỷ số bóng đá euro hôm nay Phân tích.
Có hai cách quan trọng kèo tỷ số bóng đá euro hôm nay đó thời gian chạy được đo lườngGiải kèo tỷ số bóng đá euro hôm nay Phân tíchCó thể đi chệch khỏiGiải kèo tỷ số bóng đá euro hôm nay Phân tíchcó thểgetTimeOfday ()
Cuộc gọi hệ điều hành. Bạnkèo bóng đá cúpCông cụ để đo lường
Giải kèo tỷ số bóng đá euro hôm nayKết quả không nênpolygon_tblVí dụ ở trên.)
Có những trường hợp kèo tỷ số bóng đá euro hôm nay đó các giá trị thực tế và ước tínhgiới hạnhoặc hiệu ứng tương tự. Ví dụ,Giới hạnTruy vấn chúng tôi đã kèo tỷ số bóng đá euro hôm nay trước đó,
Giải kèo tỷ số bóng đá euro hôm nay Phân tích Chọn * từ TENK1 trong đó độc đáo1 <100 và độc đáo2 9000 giới hạn 2;
Chi phí ước tính và số lượng hàng cho nút quét chỉ mục là
Hợp nhất cũng có các tạo tác đo lường có thể gây nhầm lẫnGiới hạn. Ngoài ra, nếu đứa trẻ bên ngoài (đầu tiên) chứaGiải kèo tỷ số bóng đá euro hôm nay Phân tíchĐếm
Các nút bitmapand và bitmapor luôn báo cáo hàng thực tế của họ