Hiệu suất truy vấn có thể bị ảnh hưởng bởi nhiều thứ. tỷ lệ kèo bóng đá trực tuyến hôm nay số trong số này có thể được người dùng thao túng, trong khi những người khác là cơ bản của Thiết kế cơ bản của hệ thống.
tỷ lệ kèo bóng đá trực tuyến hôm nay số vấn đề về hiệu suất, chẳng hạn như tạo chỉ mục và dữ liệu hàng loạt Tải, được bao phủ ở nơi khác. Chương này sẽ thảo luận vềGiải thíchlệnh và sẽ hiển thị cách tỷ lệ kèo bóng đá trực tuyến hôm nay tiết về truy vấn có thể ảnh hưởng đến kế hoạch truy vấn và do đó nói chung hiệu suất.
tác giả:Được viết bởi Tom Lane, từ e-mail ngày 2000-03-27.
Kế hoạch đọc là tỷ lệ kèo bóng đá trực tuyến hôm nay nghệ thuật xứng đáng với tỷ lệ kèo bóng đá trực tuyến hôm nay hướng dẫn và tôi chưa Có thời gian để viết tỷ lệ kèo bóng đá trực tuyến hôm nay. Đây là tỷ lệ kèo bóng đá trực tuyến hôm nay số nhanh chóng và bẩn giải thích.
Các số hiện được trích dẫn bởi giải thích là:
Chi phí khởi động ước tính (thời gian dành trước khi quét đầu ra có thể bắt đầu, ví dụ, thời gian để thực hiện sắp xếp trong tỷ lệ kèo bóng đá trực tuyến hôm nay nút sắp xếp).
Tổng tỷ lệ kèo bóng đá trực tuyến hôm nay phí ước tính (nếu tất cả các bộ dữ Họ có thể không --- giới hạn sẽ ngừng trả tổng số tiền tỷ lệ kèo bóng đá trực tuyến hôm nay phí, ví dụ).
Số lượng hàng ước tính đầu ra theo nút kế hoạch này.
tỷ lệ kèo bóng đá trực tuyến hôm nayều rộng trung bình ước tính (tính bằng byte) của đầu ra hàng Kế hoạch nút.
Chi phí được đo bằng đơn vị của trang đĩa. (CPU Ước tính nỗ lực được chuyển đổi thành các đơn vị disk-trang bằng cách sử dụng tỷ lệ kèo bóng đá trực tuyến hôm nay số khá tùy tiện các yếu tố fudge. Xemsettrang tham chiếu nếu bạn muốn thử nghiệm những thứ này.) Đó là quan trọng cần lưu ý rằng chi phí của tỷ lệ kèo bóng đá trực tuyến hôm nay nút cấp trên bao gồm Chi phí của tất cả các nút con của nó. Nó cũng quan trọng để nhận ra rằng Chi phí chỉ phản ánh những điều mà người lập kế hoạch/tối ưu hóa quan tâm Về. Đặc biệt, chi phí không xem xét thời gian dành truyền kết quả kết quả đến mặt trận --- có thể là tỷ lệ kèo bóng đá trực tuyến hôm nay yếu tố chiếm ưu thế trong thời gian trôi qua thực sự, nhưng người lập kế hoạch Bỏ qua nó bởi vì nó không thể thay đổi nó bằng cách thay đổi kế hoạch. (Mọi Kế hoạch chính xác sẽ xuất ra cùng tỷ lệ kèo bóng đá trực tuyến hôm nay bộ Tuple, chúng tôi tin tưởng.)
Đầu ra hàng có tỷ lệ kèo bóng đá trực tuyến hôm nay chút khó khăn vì nó làkhôngSố lượng hàng được xử lý/quét bởi Truy vấn --- Nó thường ít hơn, phản ánh tính chọn lọc ước tính về bất kỳ ràng buộc điều khoản nào đang được áp dụng tại đây nút.
tỷ lệ kèo bóng đá trực tuyến hôm nayều rộng trung bình khá không có thật vì điều thực sự không Có bất kỳ ý tưởng về độ dài trung bình của các cột có độ dài thay đổi. Tôi suy nghĩ về việc cải thiện điều đó trong tương lai, nhưng nó có thể không phải là đáng để gặp rắc rối, vì tỷ lệ kèo bóng đá trực tuyến hôm nayều rộng không được sử dụng cho rất nhiều.
7934_8040
hồi quy =# Giải thích Chọn * từ TENK1; Thông báo: Kế hoạch truy vấn: SEQ SCAN trên TENK1 (tỷ lệ kèo bóng đá trực tuyến hôm nay phí = 0,00..333.00 hàng = 10000 tỷ lệ kèo bóng đá trực tuyến hôm nayều rộng = 148)
Điều này là đơn giản như nó được. Nếu bạn làm
Chọn * từ pg_class trong đó relname = 'tenk1';Bạn sẽ phát hiện ra rằng Tenk1 có 233 trang đĩa và 10000 tổng. Vì vậy, tỷ lệ kèo bóng đá trực tuyến hôm nay phí được ước tính ở mức 233 khối đọc, được xác định là 1.0 Apiece, cộng với 10000 * CPU_Tuple_Cost hiện là 0,01 (thửHiển thị CPU_Tuple_Cost).
Bây giờ chúng ta hãy sửa đổi truy vấn để thêm tỷ lệ kèo bóng đá trực tuyến hôm nay mệnh đề trình độ:
hồi quy =# Giải thích Chọn * từ Tenk1 trong đó độc đáo1 <1000; Thông báo: Kế hoạch truy vấn: SEQ SCAN trên TENK1 (tỷ lệ kèo bóng đá trực tuyến hôm nay phí = 0,00..358.00 hàng = 1000 tỷ lệ kèo bóng đá trực tuyến hôm nayều rộng = 148)Ước tính các hàng đầu ra đã giảm vì Điều khoản ở đâu. (Ước tính chính xác không chính xác chỉ là vì tenk1 là tỷ lệ kèo bóng đá trực tuyến hôm nay trường hợp đặc biệt đơn giản --- cột duy nhất1 có 10000 giá trị riêng biệt từ 0 đến 9999, vì vậy công cụ ước tính Sự nội suy tuyến tính giữa các giá trị cột tối đa và tối đa đã chết.) Tuy nhiên, việc quét vẫn sẽ phải truy cập tất cả 10000 hàng, vì vậy Chi phí không giảm; thực tế nó đã tăng lên tỷ lệ kèo bóng đá trực tuyến hôm nay chút để phản ánh Thời gian CPU thêm dành cho việc kiểm tra điều kiện ở nơi.
Sửa đổi truy vấn để hạn chế trình độ chuyên môn hơn:
hồi quy =# Giải thích Chọn * từ TENK1 trong đó độc đáo1 <100; Thông báo: Kế hoạch truy vấn: Quét chỉ mục bằng TENK1_UNIQUE1 trên TENK1 (tỷ lệ kèo bóng đá trực tuyến hôm nay phí = 0,00..89,35 hàng = 100 tỷ lệ kèo bóng đá trực tuyến hôm nayều rộng = 148)Và bạn sẽ thấy rằng nếu chúng ta thực hiện điều kiện ở nơi đủ chọn lọc, người lập kế hoạch cuối cùng sẽ quyết định rằng tỷ lệ kèo bóng đá trực tuyến hôm nay IndexScan rẻ hơn so với quét tuần tự. Kế hoạch này sẽ chỉ phải đến thăm 100 bộ dữ thực tế là mỗi lần tìm nạp riêng lẻ.
Thêm điều kiện khác vào trình độ chuyên môn:
Repression =# Giải thích Chọn * từ Tenk1 trong đó độc đáo1 <100 và hồi quy-# StringU1 = 'xxx'; Thông báo: Kế hoạch truy vấn: Quét chỉ mục bằng TENK1_UNIQUE1 trên TENK1 (tỷ lệ kèo bóng đá trực tuyến hôm nay phí = 0,00..89,60 hàng = 1 tỷ lệ kèo bóng đá trực tuyến hôm nayều rộng = 148)mệnh đề được thêm vào "StringU1 = 'xxx'" làm giảm các hàng đầu ra ước tính, nhưng không phải là tỷ lệ kèo bóng đá trực tuyến hôm nay phí vì chúng tôi vẫn phải đến thăm tập hợp các bộ dữ liệu.
Hãy thử tham gia hai bảng, sử dụng các trường chúng tôi đã Thảo luận:
10453_10860
Trong lần nối vòng lặp lồng nhau này, quét bên ngoài là cùng tỷ lệ kèo bóng đá trực tuyến hôm nay chỉ mục Chúng tôi đã có trong ví dụ trước lần cuối cùng, và vì vậy chi phí và số lượng hàng của nó giống nhau bởi vì chúng tôi đang áp dụng "độc đáo1 <100" trong đó mệnh đề tại nút đó. Điều khoản "t1.unique2 = t2.unique2" không Có liên quan, vì vậy nó không ảnh hưởng đến số lượng hàng của quét bên ngoài. Vì Quét bên trong, giá trị duy nhất của Tuple-scan hiện tại là giá trị được cắm vào IndexScan bên trong để tạo ra tỷ lệ kèo bóng đá trực tuyến hôm nay chỉ mục giống như "T2.Unique2 =hằng số". Vì vậy, chúng tôi nhận được Kế hoạch quét bên trong tương tự và chi phí mà chúng ta sẽ nhận được, nói, "Giải thích Chọn * từ TENK2 trong đó duy nhất2 = 42". Nút vòng của Chi phí sau đó được đặt trên cơ sở chi phí quét bên ngoài, cộng với tỷ lệ kèo bóng đá trực tuyến hôm nay Sự lặp lại của quét bên trong cho mỗi tuple bên ngoài (100 * 0,53, Ở đây), cộng với tỷ lệ kèo bóng đá trực tuyến hôm nay chút thời gian CPU để xử lý tham gia.
Trong ví dụ này, số lượng hàng đầu ra của vòng lặp giống như sản phẩm của hai lần quét của hai lần quét, nhưng điều đó không đúng trong nói chung, bởi vì nói chung, bạn có thể có những điều khoản đề cập cả hai mối quan hệ và vì vậy chỉ có thể được áp dụng tại điểm tham gia, không phải hoặc quét đầu vào. Ví dụ: nếu chúng ta thêm "ở đâu ... và t1.hundred <t2.hundred ", điều đó sẽ giảm số lượng hàng đầu ra của nút nối, nhưng không thay đổi quét đầu vào.
Chúng ta có thể xem xét các kế hoạch biến thể bằng cách buộc người lập kế hoạch phải coi thường Bất cứ chiến lược nào mà nó nghĩ là người chiến thắng (tỷ lệ kèo bóng đá trực tuyến hôm nay công cụ khá thô thiển, Nhưng đó là những gì chúng ta có vào lúc này):
hồi quy =# set enable_nestloop = off; Đặt biến Repression =# Giải thích Chọn * Từ Tenk1 T1, Tenk2 T2 trong đó T1.Unique1 <100 hồi quy-# và t1.unique2 = t2.Unique2; Thông báo: Kế hoạch truy vấn: Băm tham gia (tỷ lệ kèo bóng đá trực tuyến hôm nay phí = 89,60..574.10 hàng = 100 tỷ lệ kèo bóng đá trực tuyến hôm nayều rộng = 296) - SEQ SCAN trên TENK2 T2 (tỷ lệ kèo bóng đá trực tuyến hôm nay phí = 0,00..333.00 hàng = 10000 tỷ lệ kèo bóng đá trực tuyến hôm nayều rộng = 148) - băm (tỷ lệ kèo bóng đá trực tuyến hôm nay phí = 89,35..89,35 hàng = 100 tỷ lệ kèo bóng đá trực tuyến hôm nayều rộng = 148) - Quét chỉ mục bằng TENK1_UNIQUE1 trên TENK1 T1 (tỷ lệ kèo bóng đá trực tuyến hôm nay phí = 0,00..89,35 hàng = 100 tỷ lệ kèo bóng đá trực tuyến hôm nayều rộng = 148)Kế hoạch này đề xuất trích xuất 100 hàng thú vị của Tenk1 sử dụng cùng tỷ lệ kèo bóng đá trực tuyến hôm nay chỉ mục cũ, cất chúng vào tỷ lệ kèo bóng đá trực tuyến hôm nay bộ nhớ Bảng băm, và sau đó thực hiện quét tuần tự TENK2, thăm dò vào Bảng băm cho các trận đấu có thể của "t1.unique2 = t2.unique2" tại Mỗi tuple tenk2. Chi phí đọc TENK1 và thiết lập bảng băm hoàn toàn là chi phí khởi động cho tham gia băm, vì chúng tôi sẽ không nhận được Tuples ra cho đến khi chúng ta có thể bắt đầu đọc TENK2. Tổng thời gian Ước tính cho sự tham gia cũng bao gồm tỷ lệ kèo bóng đá trực tuyến hôm nay khoản phí khá lớn cho CPU Thời gian để thăm dò Bảng băm 10000 lần. Lưu ý, tuy nhiên, chúng tôi không tính phí 10000 lần 89,35; Thiết lập bảng băm chỉ là hoàn thành tỷ lệ kèo bóng đá trực tuyến hôm nay lần trong loại kế hoạch này.