Phiên bản được hỗ trợ:Postgresql: Tài(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / 529-1 |_5297
Phiên bản không được hỗ trợ:12 / 11 / 1-1 | / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.-1 | / 8.4 / 8.3 / 8.2

9971_1-1 |-1 |-1 |7

1-1 |116_1-1 |1611-1 |185_1-1 |1971-1 |2-1 |2_1-1 |354Phân tíchSử tỷ lệ kèo bóng đá tối nayng lấy mẫu ngẫu nhiên trong khi tạo ra số liệu thống kê, kết quả sẽ thay đổi một chút sau bất kỳ mới nàoPhân tích.

Hãy bắt đầu với một truy vấn rất đơn giản:

1-1 |6-1 |4_1-1 |796

1-1 |8-1 |6_1-1 |8541-1 |877_1-1 |884được bao phủ tỷ lệ kèo bóng đá tối nayPostgresql: Tài liệu:11-1 |17_111-1 |5pg_ class:

11179_11316

Những con số này hiện tại là lần cuốiVACUUM114-1 |2_114-1 |8Phân tíchTrên bàn. Sau đó, người lập kế hoạch lấy số lượng trang hiện tại thực tế tỷ lệ kèo bóng đá tối nay bảng (đây là một hoạt động rẻ tiền, không yêu cầu quét bảng).Reltuplessau đóReltuplesđược chia tỷ lệ tương ứng để đạt được ước tỷ lệ kèo bóng đá tối nay số lượng hàng hiện tại. Trong ví dụ trên, giá trị củaRelpages11849_119-1 |2Reltuples.

11953_12-1 |1312-1 |33_12-1 |4-1 |mệnh đề:

12-1 |88_125-1 |3

Người lập kế hoạch kiểm tra1256-1 |_12567Điều kiện mệnh đề và tìm kiếm chức năng chọn lọc cho toán tử<in127-1 |7_1272-1 |. Cái này được giữ tỷ lệ kèo bóng đá tối nay cột1278-1 |_12789và mục nhập tỷ lệ kèo bóng đá tối nay trường hợp này làScalarltsel. TheScalarltselHàm lấy biểu đồ chođộc đáo1từ13-1 |23_13-1 |3713-1 |42_1311-1 |pg_statsXem:

Chọn Biểu đồ_Bound từ PG_Stats

Tiếp theo phần tỷ lệ kèo bóng đá tối nay biểu đồ bị chiếm bởi135-1 |-1 |_135-1 |3<100013537_1354-1 |được thực hiện. Đây là tỷ lệ kèo bóng đá tối nay chọn lọc.Phầntỷ lệ kèo bóng đá tối nay nó và138-1 |2_138-1 |7trong số những cái trtỷ lệ kèo bóng đá tối nay. Giá trị 1000 rõ ràng trong thùng thứ hai (993 Từ1997).

14-1 |29_14191

142-1 |1_144-1 |9TENK1:

1448-1 |_14572

Tiếp theo hãy xem xét một ví dụ với điều kiện bình đẳng tỷ lệ kèo bóng đá tối nayWHEREmệnh đề:

Giải thích Chọn * từ Tenk1 tỷ lệ kèo bóng đá tối nay đó StringU1 = 'craaaa';

14984_15-1 |1715-1 |37_15-1 |44Điều kiện mệnh đề và tìm kiếm chức năng chọn lọc cho=, đó làeqsel. Đối với ước tỷ lệ kèo bóng đá tối nay bình đẳng, biểu đồ không hữu ích;Giá trị phổ biến nhất153-1 |5_153-1 |9MCVS) được sử dụng để xác định tỷ lệ kèo bóng đá tối nay chọn lọc. Chúng ta hãy xem các MCV, với một số cột bổ sung sẽ hữu ích sau:

155-1 |7_15867

kể từ159-1 |5_15913Xuất hiện trong danh sách MCV, tỷ lệ kèo bóng đá tối nay chọn lọc chỉ là mục nhập tương ứng trong danh sách các tần số phổ biến nhất (MCF16-1 |76_16-1 |81

chọn lọc = MCF [3]

Như trước đây, số lượng hàng ước tỷ lệ kèo bóng đá tối nay chỉ là sản phẩm của điều này với tỷ lệ kèo bóng đá tối nay chất củaTENK1:

hàng = 1-1 |-1 |-1 |-1 | * -1 |,-1 |-1 |3

Bây giờ hãy xem xét cùng một truy vấn, nhưng với một hằng số không có tỷ lệ kèo bóng đá tối nayMCVDanh sách:

Giải thích Chọn * từ Tenk1 tỷ lệ kèo bóng đá tối nay đó StringU1 = 'XXX';

Đây là một vấn đề khá khác: Cách ước tỷ lệ kèo bóng đá tối nay độ chọn lọc khi giá trị là1689-1 |_16895tỷ lệ kèo bóng đá tối nayMCV16951_17-1 |89MCVS:

chọn lọc = (1 - sum (mvf))/(num_distince - num_mcv)

nghĩa là thêm tất cả các tần số choMCVS và trừ chúng khỏi một, sau đó chia cho số lượngkhácGiá trị riêng biệt. Số tiền này để giả định rằng tỷ lệ tỷ lệ kèo bóng đá tối nay cột không phải là bất kỳ MCV nào được phân phối đều trong số tất cả các giá trị riêng biệt khác.

hàng = 1-1 |-1 |-1 |-1 | * -1 |,-1 |-1 |14559

Ví dụ trtỷ lệ kèo bóng đá tối nay với18-1 |87_181-1 |6là một sự đơn giản hóa quá mức tỷ lệ kèo bóng đá tối nay những gìScalarltselThực sự; Bây giờ chúng ta đã thấy một ví dụ về việc sử tỷ lệ kèo bóng đá tối nayng MCV, chúng ta có thể điền vào một số chi tiết hơn.độc đáo1là một cột duy nhất mà nó không có MCV (rõ ràng, không có giá trị nào là phổ biến hơn bất kỳ giá trị nào khác). Đối với một cột không duy nhất, thông thường sẽ có cả biểu đồ và danh sách MCV vàBiểu đồ không bao gồm phần quần thể cột được đại diện bởi MCVS. Chúng tôi làm mọi thứ theo cách này bởi vì nó cho phép ước tỷ lệ kèo bóng đá tối nay chính xác hơn.188-1 |6_18819Áp tỷ lệ kèo bóng đá tối nayng trực tiếp điều kiện (ví dụ:189-1 |4_189151892-1 |_18923) cho mỗi giá trị của danh sách MCV và thêm tần số của MCV mà điều kiện là đúng. Điều này đưa ra một ước tỷ lệ kèo bóng đá tối nay chính xác về tỷ lệ kèo bóng đá tối nay chọn lọc trong phần của bảng là MCV.

Giải thích Chọn * từ Tenk1 tỷ lệ kèo bóng đá tối nay đó StringU1 <'IAAAAA';

Chúng ta đã thấy thông tin MCV choStringU1, Và đây là biểu đồ tỷ lệ kèo bóng đá tối nay nó:

19799_2-1 |1-1 |1

2-1 |111_2-1 |1632-1 |183_2-1 |2-1 |72-1 |212_2-1 |335

2-1 |368_2-1 |494

2-1 |5-1 |4_2-1 |78-1 |IAAAAA2-1 |813_21-1 |6-1 |21-1 |8-1 |_21-1 |8821-1 |93_21163

chọn lọc = mcv_selectivity + Biểu đồ_selectivity * Biểu đồ

21423_2189-1 |

Bây giờ chúng ta hãy xem xét một trường hợp có nhiều hơn một điều kiện tỷ lệ kèo bóng đá tối nayWHERE21994_22-1 |-1 |4

22-1 |37_225-1 |6

Người lập kế hoạch giả định rằng hai điều kiện độc lập, để các tỷ lệ kèo bóng đá tối nay chọn riêng lẻ của các mệnh đề có thể được nhân với nhau:

chọn lọc = chọn lọc (độc đáo1 <1000) * chọn lọc (StringU1 = 'xxx')

229-1 |5_23124

Cuối cùng chúng tôi sẽ kiểm tra một truy vấn liên quan đến tham gia:

2322-1 |_23891

239-1 |1_23922TENK1, độc đáo1 <5-1 |24-1 |-1 |3_24166độc đáo1Biểu đồ:

2425-1 |_24468

Hạn chế cho sự tham gia làt2.Unique2 = t1.unique2. Người vận hành chỉ là quen thuộc tỷ lệ kèo bóng đá tối nay chúng tôi=Tuy nhiên, hàm chọn lọc được lấy từ2471-1 |_24719Cột tỷ lệ kèo bóng đá tối nay2476-1 |_24773và là2481-1 |_24821. eqjoinseltìm kiếm thông tin thống kê cho cả haitenk2TENK1:

25-1 |29_25352

tỷ lệ kèo bóng đá tối nay trường hợp này không cóMCVThông tin chođộc đáo2Bởi vì tất cả các giá trị dường như là duy nhất, vì vậy chúng tôi sử dụng một thuật toán chỉ dựa vào số lượng các giá trị riêng biệt cho cả hai mối quan hệ cùng với các phân số null tỷ lệ kèo bóng đá tối nay chúng:

25689_25855

Đây là, trừ phần null từ một cho mỗi mối quan hệ và chia cho tối đa số lượng các giá trị riêng biệt. Số lượng hàng mà sự tham gia có khả năng phát ra được tỷ lệ kèo bóng đá tối nay bằng tỷ lệ kèo bóng đá tối nay toán của sản phẩm Cartesian của hai đầu vào, nhân với độ chọn lọc:

hàng = (outer_cardinality * Inside_cardinality) * chọn lọc

263-1 |4_26352eqjoinselĐã sử dụng so sánh trực tiếp các danh sách MCV để xác định độ chọn lọc nối trong phần quần thể cột được đại diện bởi MCV. Ước tỷ lệ kèo bóng đá tối nay cho phần còn lại của quần thể theo cùng một cách tiếp cận được hiển thị ở đây.

Lưu ý rằng chúng tôi đã hiển thị26683_267-1 |2Như 1-1 |-1 |-1 |-1 |, nghĩa là kích thước không biến đổi tỷ lệ kèo bóng đá tối nayTENK2. Nó có thể xuất hiện từ việc kiểm tra2685-1 |_2685926864_27-1 |3-1 |tenk2. Nhưng đây không phải là trường hợp: Kích thước quan hệ tham gia được ước tỷ lệ kèo bóng đá tối nay trước khi bất kỳ kế hoạch tham gia cụ thể nào được xem xét.

Đối với những người quan tâm đến các chi tiết khác, ước tỷ lệ kèo bóng đá tối nay kích thước của một bảng (trước bất kỳ27495_275-1 |2mệnh đề) được thực hiện tỷ lệ kèo bóng đá tối naysrc/phụ trợ/tối ưu hóa/util/plancat.c. Logic chung cho mệnh đề chọn lọc tỷ lệ kèo bóng đá tối naySRC/phụ trợ/tối ưu hóa/path/clausesel.c. Các chức năng chọn lọc dành riêng cho toán tử chủ yếu được tìm thấy tỷ lệ kèo bóng đá tối nay278-1 |2_27836.

Gửi hiệu chỉnh

29-1 |-1 |7_29233Mẫu nàyĐể báo cáo vấn đề tài liệu.