Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / 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 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
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 một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

47.5. Người lập tỷ lệ kèo bóng đá 88/Trình tối ưu hóa

Nhiệm vụ củaMáy lập tỷ lệ kèo bóng đá 88là tạo ra một tỷ lệ kèo bóng đá 88 thực hiện tối ưu. Một truy vấn SQL đã cho (và do đó, một cây truy vấn) thực sự có thể được thực hiện theo nhiều cách khác nhau, mỗi cách sẽ tạo ra cùng một tập hợp kết quả. Nếu khả thi về mặt tính toán, trình tối ưu hóa truy vấn sẽ kiểm tra từng tỷ lệ kèo bóng đá 88 thực thi có thể, cuối cùng chọn tỷ lệ kèo bóng đá 88 thực thi dự kiến ​​sẽ chạy nhanh nhất.

Lưu ý:Trong một số tình huống, việc kiểm tra từng cách có thể trong đó một truy vấn có thể được thực thi sẽ mất quá nhiều thời gian và không gian bộ nhớ. Cụ thể, điều này xảy ra khi thực hiện các truy vấn liên quan đến số lượng lớn các hoạt động tham gia. Để xác định tỷ lệ kèo bóng đá 88 truy vấn hợp lý (không nhất thiết là tối ưu) trong một khoảng thời gian hợp lý,PostgreSQLSử dụng ATrình tỷ lệ kèo bóng đá 88 truy vấn di truyền(xemChương 54) Khi số lượng tham gia vượt quá ngưỡng (xemgeqo_threshold).

Quy trình tìm kiếm của người lập tỷ lệ kèo bóng đá 88 thực sự hoạt động với các cấu trúc dữ liệu được gọi làđường dẫn, đơn giản là các biểu diễn cắt giảm của các tỷ lệ kèo bóng đá 88 chỉ chứa nhiều thông tin như người lập tỷ lệ kèo bóng đá 88 cần đưa ra quyết định của mình. Sau khi con đường rẻ nhất được xác định, một bản đầy đủCây tỷ lệ kèo bóng đá 88được xây dựng để chuyển cho người thực thi. Điều này thể hiện tỷ lệ kèo bóng đá 88 thực hiện mong muốn một cách chi tiết đầy đủ để người thực thi chạy nó. Trong phần còn lại của phần này, chúng tôi sẽ bỏ qua sự khác biệt giữa các đường dẫn và tỷ lệ kèo bóng đá 88.

47.5.1. Tạo ra các tỷ lệ kèo bóng đá 88 có thể

12548_12972Mối quan hệ.Attribution hằng số opr. Nếu nhưMối quan hệ.Attributionxảy ra để khớp với khóa của chỉ mục B-cây vàOPRlà một trong những toán tử được liệt kê trong chỉ mụcLớp toán tử13238_13552Đặt hàng bởimệnh đề (nếu có) hoặc thứ tự sắp xếp có thể hữu ích để hợp nhất tham gia (xem bên dưới).

Nếu truy vấn yêu cầu tham gia hai hoặc nhiều quan hệ, các tỷ lệ kèo bóng đá 88 tham gia quan hệ được xem xét sau khi tất cả các tỷ lệ kèo bóng đá 88 khả thi đã được tìm thấy để quét các mối quan hệ đơn lẻ. Ba chiến lược tham gia có sẵn là:

  • Tham gia vòng lồng nhau: Mối quan hệ bên phải được quét một lần cho mỗi hàng được tìm thấy trong quan hệ bên trái. Chiến lược này rất dễ thực hiện nhưng có thể rất tốn thời gian. (Tuy nhiên, nếu mối quan hệ bên phải có thể được quét bằng quét chỉ mục, đây có thể là một chiến lược tốt.

  • Hợp nhất tham gia14354_14766

  • băm tham gia: Mối quan hệ đúng được quét và tải vào bảng băm, sử dụng các thuộc tính tham gia của nó làm khóa băm. Tiếp theo, mối quan hệ bên trái được quét và các giá trị thích hợp của mỗi hàng được tìm thấy được sử dụng làm khóa băm để xác định vị trí các hàng phù hợp trong bảng.

Khi truy vấn liên quan đến nhiều hơn hai mối quan hệ, kết quả cuối cùng phải được xây dựng bởi một cây các bước nối, mỗi bước có hai đầu vào. Người lập tỷ lệ kèo bóng đá 88 kiểm tra các chuỗi tham gia có thể khác nhau để tìm cái rẻ nhất.

Nếu truy vấn sử dụng ít hơngeqo_thresholdQuan hệ, tìm kiếm gần như đã được thực hiện để tìm chuỗi tham gia tốt nhất. Người lập tỷ lệ kèo bóng đá 88 ưu tiên xem xét tham gia giữa bất kỳ hai mối quan hệ nào tồn tại một mệnh đề tham gia tương ứng trongWHERETrình độ chuyên môn (tức là, trong đó một hạn chế nhưtrong đó rel1.attr1 = rel2.ATTR2tồn tại). Tham gia các cặp không có mệnh đề tham gia chỉ được xem xét khi không có lựa chọn nào khác, nghĩa là, một mối quan hệ cụ thể không có điều khoản tham gia nào cho bất kỳ mối quan hệ nào khác. Tất cả các tỷ lệ kèo bóng đá 88 có thể được tạo cho mỗi cặp tham gia được xem xét bởi người lập tỷ lệ kèo bóng đá 88 và một tỷ lệ kèo bóng đá 88 (ước tính là) giá rẻ nhất được chọn.

Khigeqo_thresholdbị vượt quá, các chuỗi tham gia được xem xét được xác định bởi heuristic, như được mô tả trongChương 54. Nếu không thì quá trình này giống nhau.

Cây tỷ lệ kèo bóng đá 88 đã hoàn thành bao gồm các lần quét tuần tự hoặc chỉ mục của các quan hệ cơ sở, cộng với các nút nối, hợp nhất hoặc băm khi cần thiết, cộng với bất kỳ bước phụ trợ nào cần thiết, chẳng hạn như các nút sắp xếp hoặc các nút tính toán chức năng tổng hợp. Hầu hết các loại nút tỷ lệ kèo bóng đá 88 này đều có khả năng thực hiện bổ sungLựa chọn(vứt bỏ các hàng không đáp ứng điều kiện boolean được chỉ định) vàDự đoán16721_16934WHEREmệnh đề và tính toán các biểu thức đầu ra cần thiết cho các nút thích hợp nhất của cây tỷ lệ kèo bóng đá 88.