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 / 5338_5345
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

37.15. Thông tin tối ưu hóa tỷ lệ kèo bóng đá trực tuyến hôm nay tử

APostgreSQLĐịnh nghĩa tỷ lệ kèo bóng đá trực tuyến hôm nay tử có thể bao gồm một số điều khoản tùy chọn cho hệ thống những điều hữu ích về cách thức hoạt động của người vận hành. Các mệnh đề này nên được cung cấp bất cứ khi nào thích hợp, bởi vì chúng có thể tạo ra các tốc độ tăng tốc đáng kể trong việc thực hiện các truy vấn sử dụng tỷ lệ kèo bóng đá trực tuyến hôm nay tử. Nhưng nếu bạn cung cấp chúng, bạn phải chắc chắn rằng họ đúng! Việc sử dụng không chính xác một mệnh đề tối ưu hóa có thể dẫn đến các truy vấn chậm, đầu ra sai một cách tinh tế hoặc những điều xấu khác. Bạn luôn có thể bỏ ra một điều khoản tối ưu hóa nếu bạn không chắc chắn về nó; Hậu quả duy nhất là các truy vấn có thể chạy chậm hơn họ cần.

Các mệnh đề tối ưu tỷ lệ kèo bóng đá trực tuyến hôm nay bổ sung có thể được thêm vào trong các phiên bản tương lai củaPostgreSQL. Những cái được mô tả ở đây là tất cả những cái phát hành 13.21 hiểu.

Cũng có thể gắn hàm hỗ trợ kế hoạch vào chức năng làm nền tảng cho người vận hành, cung cấp một cách khác để nói với hệ thống về hành vi của tỷ lệ kèo bóng đá trực tuyến hôm nay tử. Nhìn thấyPhần 37.11Để biết thêm thông tỷ lệ kèo bóng đá trực tuyến hôm nay.

37.15.1.Cổ ltỷ lệ kèo bóng đá trực tuyến hôm nay

TheCổ ltỷ lệ kèo bóng đá trực tuyến hôm naymệnh đề, nếu được cung cấp, đặt tên cho một tỷ lệ kèo bóng đá trực tuyến hôm nay tử là người làm thư viện của tỷ lệ kèo bóng đá trực tuyến hôm nay tử được xác định. Chúng tôi nói rằng tỷ lệ kèo bóng đá trực tuyến hôm nay tử A là người giao dịch của tỷ lệ kèo bóng đá trực tuyến hôm nay tử B nếu (x a y) bằng (y b x) cho tất cả các giá trị đầu vào có thể có x, y. Lưu ý rằng B cũng là người giao lưu của A. Ví dụ, các tỷ lệ kèo bóng đá trực tuyến hôm nay tử<13938_14019+thường là tự giao với chính nó. Nhưng tỷ lệ kèo bóng đá trực tuyến hôm nay tử-thường không giao hoán với bất cứ điều gì.

Loại tỷ lệ kèo bóng đá trực tuyến hôm nay hạng bên trái của một tỷ lệ kèo bóng đá trực tuyến hôm nay tử có thể giao lại giống như loại tỷ lệ kèo bóng đá trực tuyến hôm nay hạng bên phải của người giao dịch và ngược lại. Vì vậy, tên của tỷ lệ kèo bóng đá trực tuyến hôm nay tử giao dịch là tất cảPostgreSQL14395_14491Cổ ltỷ lệ kèo bóng đá trực tuyến hôm naymệnh đề.

Điều quan trọng là cung cấp thông tin trước cho các nhà khai thác sẽ được sử dụng trong các chỉ mục và tham gia các điều khoản, vì điều này cho phép trình tối ưu tỷ lệ kèo bóng đá trực tuyến hôm nay truy vấnlật xung quanhHàngĐiều khoản như vậy cho các biểu mẫu cần thiết cho các loại kế hoạch khác nhau. Ví dụ: xem xét một truy vấn với mệnh đề WHERE nhưTab1.x = Tab2.y, trong đóTab1.xTab2.ythuộc loại do người dùng xác định và giả sử rằngTab2.yđược lập chỉ mục. Trình tối ưu tỷ lệ kèo bóng đá trực tuyến hôm nay không thể tạo quét chỉ mục trừ khi nó có thể xác định cách lật mệnh đề xung quanhTab2.y = Tab1.x, bởi vì máy móc quét chỉ mục dự kiến ​​sẽ thấy cột được lập chỉ mục ở bên trái của tỷ lệ kèo bóng đá trực tuyến hôm nay tử được đưa ra.PostgreSQLWillkhôngChỉ cần giả sử rằng đây là một phép biến đổi hợp lệ - người tạo ra=Nhà điều hành phải chỉ định rằng nó hợp lệ, bằng cách đánh dấu tỷ lệ kèo bóng đá trực tuyến hôm nay tử với thông tin cổ góp.

Khi bạn xác định một tỷ lệ kèo bóng đá trực tuyến hôm nay tử tự Commutative, bạn chỉ cần làm điều đó. Khi bạn đang xác định một cặp tỷ lệ kèo bóng đá trực tuyến hôm nay tử giao hoán, mọi thứ sẽ khó khăn hơn một chút: làm thế nào cái đầu tiên có thể được xác định tham khảo cái khác mà bạn chưa xác định được? Có hai giải pháp cho vấn đề này:

  • Một cách là bỏ quaCổ ltỷ lệ kèo bóng đá trực tuyến hôm naymệnh đề trong tỷ lệ kèo bóng đá trực tuyến hôm nay tử thứ nhất mà bạn xác định, sau đó cung cấp một trong định nghĩa của tỷ lệ kèo bóng đá trực tuyến hôm nay tử thứ hai. TừPostgreSQLBiết rằng các tỷ lệ kèo bóng đá trực tuyến hôm nay tử giao hoán đi theo cặp, khi nó thấy định nghĩa thứ hai, nó sẽ tự động quay lại và điền vào thiếuCổ ltỷ lệ kèo bóng đá trực tuyến hôm naymệnh đề trong định nghĩa đầu tiên.

  • Cách khác, đơn giản hơn chỉ là bao gồmCổ ltỷ lệ kèo bóng đá trực tuyến hôm naymệnh đề trong cả hai định nghĩa. KhiPostgreSQL16741_16793Cổ ltỷ lệ kèo bóng đá trực tuyến hôm nayđề cập đến tỷ lệ kèo bóng đá trực tuyến hôm nay tử không tồn tại, hệ thống sẽ tạo một mục giả cho tỷ lệ kèo bóng đá trực tuyến hôm nay tử đó trong danh mục hệ thống. Mục nhập giả này sẽ chỉ có dữ liệu hợp lệ cho tên tỷ lệ kèo bóng đá trực tuyến hôm nay tử, các loại tỷ lệ kèo bóng đá trực tuyến hôm nay hạng bên trái và phải và loại kết quả, vì đó là tất cả những gìPostgreSQLcó thể suy luận tại thời điểm này. Mục nhập danh mục của nhà điều hành đầu tiên sẽ liên kết đến mục giả này. Sau đó, khi bạn xác định tỷ lệ kèo bóng đá trực tuyến hôm nay tử thứ hai, hệ thống sẽ cập nhật mục nhập giả với thông tin bổ sung từ định nghĩa thứ hai. Nếu bạn cố gắng sử dụng tỷ lệ kèo bóng đá trực tuyến hôm nay tử giả trước khi nó được điền vào, bạn sẽ nhận được thông báo lỗi.

37.15.2.NEGATOR

Thetiêu cực17765_18055< =là một cặp tiêu cực cho hầu hết các loại dữ liệu. Người vận hành không bao giờ có thể là người tiêu cực của chính nó.

Không giống như các giao dịch, một cặp tỷ lệ kèo bóng đá trực tuyến hôm nay tử Unary có thể được đánh dấu một cách hợp lệ là người tiêu cực của nhau; Điều đó có nghĩa là (a x) bằng không (b x) cho tất cả x, hoặc tương đương với các tỷ lệ kèo bóng đá trực tuyến hôm nay tử không đơn giản.

18429_18551Cổ ltỷ lệ kèo bóng đá trực tuyến hôm nay, Chỉ cần có tên tỷ lệ kèo bóng đá trực tuyến hôm nay tử trongNEGATORmệnh đề.

Cung cấp trình phủ định là rất hữu ích cho trình tối ưu tỷ lệ kèo bóng đá trực tuyến hôm nay truy vấn vì nó cho phép các biểu thức nhưkhông (x = y)Để được đơn giản tỷ lệ kèo bóng đá trực tuyến hôm nay thànhx < y. Điều này xuất hiện thường xuyên hơn bạn nghĩ, bởi vìkhôngHoạt động có thể được chèn vào hậu quả của các sắp xếp lại khác.

Các cặp tỷ lệ kèo bóng đá trực tuyến hôm nay tử phủ định có thể được xác định bằng cách sử dụng các phương thức tương tự được giải thích ở trên cho các cặp giao dịch.

37.15.3.Hạn chế

TheHạn chế19439_19592Hạn chếĐiều khoản chỉ có ý nghĩa đối với các tỷ lệ kèo bóng đá trực tuyến hôm nay tử nhị phân trả vềBoolean19718_19838ở đâu-Chlause điều kiện của biểu mẫu:

Cột op hằng số

Đối với tỷ lệ kèo bóng đá trực tuyến hôm nay tử hiện tại và một giá trị hằng số cụ thể. Điều này hỗ trợ trình tối ưu hóa bằng cách cho nó một số ý tưởng về số lượng hàng sẽ được loại bỏ bởiWHERECác điều khoản có hình thức này. (Điều gì xảy ra nếu hằng số ở bên trái, bạn có thể tự hỏi? Chà, đó là một trong những điều đóCổ ltỷ lệ kèo bóng đá trực tuyến hôm naylà cho ...)

Viết các chức năng ước tính chọn lọc giới hạn mới vượt xa phạm vi của chương này, nhưng may mắn thay, bạn thường chỉ có thể sử dụng một trong những ước tính tiêu chuẩn của hệ thống cho nhiều nhà khai thác của riêng bạn. Đây là những người ước tính hạn chế tiêu chuẩn:

EQSELcho=
Neqselcho<
Scalarltselcho<
Scalarleselcho<=
Scalargtselcho
Scalargeselcho =

Bạn có thể thường xuyên thoát khỏi việc sử dụngeqselhoặcNeqselĐối với các nhà khai thác có độ chọn lọc rất cao hoặc rất thấp, ngay cả khi chúng không thực sự bình đẳng hoặc bất bình đẳng. Ví dụ: các tỷ lệ kèo bóng đá trực tuyến hôm nay tử hình học bình đẳng gần đúng sử dụngeqselVề giả định rằng chúng thường chỉ khớp với một phần nhỏ của các mục trong bảng.

Bạn có thể sử dụngScalarltsel, Scalarlesel, Scalargtsel21982_21989ScalargeselĐể so sánh các loại dữ liệu có một số phương tiện hợp lý để được chuyển đổi thành vô hướng số để so sánh phạm vi. Nếu có thể, hãy thêm kiểu dữ liệu vào các loại được hiểu bởi hàmconvert_to_scalar ()insrc/backend/elils/adt/selfuncs.c. .PG_TYPEDanh mục hệ thống; Nhưng điều đó vẫn chưa xảy ra.) Nếu bạn không làm điều này, mọi thứ vẫn hoạt động, nhưng ước tính của trình tối ưu tỷ lệ kèo bóng đá trực tuyến hôm nay sẽ không tốt như họ có thể.

Một chức năng ước tính chọn lọc tích hợp hữu ích khác làMatchingsel, sẽ hoạt động cho hầu hết mọi tỷ lệ kèo bóng đá trực tuyến hôm nay tử nhị phân, nếu thống kê MCV và/hoặc Biểu đồ tiêu chuẩn được thu thập cho loại dữ liệu đầu vào. Ước tính mặc định của nó được đặt thành hai lần ước tính mặc định được sử dụng trongEQSEL, Làm cho nó phù hợp nhất cho các tỷ lệ kèo bóng đá trực tuyến hôm nay tử so sánh có phần ít nghiêm ngặt hơn bình đẳng. (Hoặc bạn có thể gọi là cơ bảnGeneric_Restriction_SelectivityHàm, cung cấp ước tính mặc định khác.)

Có các chức năng ước tính chọn lọc bổ sung được thiết kế cho các tỷ lệ kèo bóng đá trực tuyến hôm nay tử hình học trongSRC/Backend/Utils/ADT/Geo_Selfuncs.c: Vùng l tính, vị trícontsel. Trong bài viết này, đây chỉ là những sơ khai, nhưng bạn có thể muốn sử dụng chúng (hoặc thậm chí tốt hơn, dù sao cũng cải thiện chúng).

37.15.4.Tham gia

Thetham giamệnh đề, nếu được cung cấp, đặt tên cho chức năng ước tính chọn lọc tham gia cho tỷ lệ kèo bóng đá trực tuyến hôm nay tử. (Lưu ý rằng đây là tên hàm, không phải tên tỷ lệ kèo bóng đá trực tuyến hôm nay tử.)tham giaĐiều khoản chỉ có ý nghĩa đối với các tỷ lệ kèo bóng đá trực tuyến hôm nay tử nhị phân trả về24161_24170. Ý tưởng đằng sau một công cụ ước tính chọn lọc tham gia là đoán được phần nào của các hàng trong một cặp bảng sẽ thỏa mãn mộtWHERE-Chlause điều kiện của biểu mẫu:

Bảng1.Column1 OP Bảng2.column2

Đối với tỷ lệ kèo bóng đá trực tuyến hôm nay tử hiện tại. Như vớiHạn chế24519_24673

24683_24880

eqjoinselcho=
Neqjoinselcho<
Scalarltjoinselcho<
Scalarlejoinselcho<=
Scalargtjoinselcho
Scalargejoinselcho =
MatchingJoinselĐối với các tỷ lệ kèo bóng đá trực tuyến hôm nay tử khớp chung
AreajoinselĐối với các so sánh dựa trên khu vực 2D
vị tríJoinselĐối với các so sánh dựa trên vị trí 2D
contjoinselđể so sánh dựa trên ngăn chặn 2D

37.15.5.băm

Thebămmệnh đề, nếu có, hãy nói với hệ thống rằng có thể sử dụng phương thức nối băm cho tham gia dựa trên tỷ lệ kèo bóng đá trực tuyến hôm nay tử này.bămChỉ có ý nghĩa đối với tỷ lệ kèo bóng đá trực tuyến hôm nay tử nhị phân trả vềBooleanvà trong thực tế, tỷ lệ kèo bóng đá trực tuyến hôm nay tử phải biểu thị sự bình đẳng cho một số loại dữ liệu hoặc cặp loại dữ liệu.

Giả định Hash tham gia băm nhỏ là tỷ lệ kèo bóng đá trực tuyến hôm nay tử tham gia chỉ có thể trả về các cặp giá trị trái và bên phải với cùng mã băm giống nhau. Nếu hai giá trị được đặt trong các thùng băm khác nhau, sự tham gia sẽ không bao giờ so sánh chúng, hoàn toàn giả định rằng kết quả của tỷ lệ kèo bóng đá trực tuyến hôm nay tử tham gia phải là sai. Vì vậy, không bao giờ có ý nghĩa khi chỉ địnhbăm27176_27510Mạnh27549_27556HồiGiá trị, mặc dù các giá trị có các biểu diễn khác nhau. Ví dụ: việc sắp xếp thuộc tính này khá đơn giản khi các số nguyên có chiều rộng khác nhau.

Để được đánh dấubăm27792_28304

Cần phải thực hiện chăm sóc khi chuẩn bị chức năng băm, bởi vì có những cách phụ thuộc vào máy mà nó có thể không làm đúng. Ví dụ: nếu kiểu dữ liệu của bạn là một cấu trúc trong đó có thể có các bit pad không thú vị, bạn không thể chỉ cần chuyển toàn bộ cấu trúc sangHash_any. (Trừ khi bạn viết các tỷ lệ kèo bóng đá trực tuyến hôm nay tử và chức năng khác của mình để đảm bảo rằng các bit không sử dụng luôn bằng không, đó là chiến lược được đề xuất.) Một ví dụ khác là trên các máy gặpIEEE28864_29142

Một tỷ lệ kèo bóng đá trực tuyến hôm nay tử có thể kết hợp với băm phải có một người giao dịch (chính nó nếu hai loại dữ liệu tỷ lệ kèo bóng đá trực tuyến hôm nay hạng giống nhau hoặc một tỷ lệ kèo bóng đá trực tuyến hôm nay tử bình đẳng liên quan nếu chúng khác nhau) xuất hiện trong cùng một họ tỷ lệ kèo bóng đá trực tuyến hôm nay tử. Nếu đây không phải là trường hợp, các lỗi của kế hoạch có thể xảy ra khi người vận hành được sử dụng. Ngoài ra, đó là một ý tưởng tốt (nhưng không được yêu cầu nghiêm ngặt) đối với họ tỷ lệ kèo bóng đá trực tuyến hôm nay tử băm hỗ trợ nhiều loại dữ liệu để cung cấp các tỷ lệ kèo bóng đá trực tuyến hôm nay tử bình đẳng cho mọi kết hợp của các loại dữ liệu; Điều này cho phép tối ưu hóa tốt hơn.

Ltỷ lệ kèo bóng đá trực tuyến hôm nay ý

Hàm cơ bản Một tỷ lệ kèo bóng đá trực tuyến hôm nay tử có thể kết hợp băm phải được đánh dấu bất biến hoặc ổn định. Nếu nó biến động, hệ thống sẽ không bao giờ cố gắng sử dụng tỷ lệ kèo bóng đá trực tuyến hôm nay tử cho một băm tham gia.

Ltỷ lệ kèo bóng đá trực tuyến hôm nay ý

Nếu một tỷ lệ kèo bóng đá trực tuyến hôm nay tử có thể kết hợp băm có chức năng cơ bản được đánh dấu nghiêm ngặt, hàm cũng phải được hoàn thành: nghĩa là, nó sẽ trả về đúng hay sai, không bao giờ null, cho bất kỳ hai đầu vào không phải là bất kỳ. Nếu quy tắc này không được tuân theo, tối ưu hóa băm củainHoạt động có thể tạo ra kết quả sai. (Cụ thể,incó thể trả về sai trong đó câu trả lời đúng theo tiêu chuẩn sẽ là null; hoặc nó có thể mang lại một lỗi phàn nàn rằng nó không được chuẩn bị cho một kết quả null.)

37.15.6.Hợp nhất

TheHợp nhấtmệnh đề, nếu có, hãy nói với hệ thống rằng có thể sử dụng phương thức Merge-join để tham gia dựa trên tỷ lệ kèo bóng đá trực tuyến hôm nay tử này.Hợp nhấtChỉ có ý nghĩa đối với tỷ lệ kèo bóng đá trực tuyến hôm nay tử nhị phân trả vềBooleanvà trong thực tế, tỷ lệ kèo bóng đá trực tuyến hôm nay tử phải biểu thị sự bình đẳng cho một số loại dữ liệu hoặc cặp loại dữ liệu.

Hợp nhất tham gia dựa trên ý tưởng sắp xếp các bảng bên trái và bên phải theo thứ tự và sau đó quét chúng song song. Vì vậy, cả hai loại dữ liệu phải có khả năng được đặt hàng đầy đủ và tỷ lệ kèo bóng đá trực tuyến hôm nay tử tham gia phải là một loại chỉ có thể thành công cho các cặp giá trị rơi vàocùng một địa điểmTheo thứ tự sắp xếp. Trong thực tế, điều này có nghĩa là tỷ lệ kèo bóng đá trực tuyến hôm nay tử tham gia phải hoạt động như bình đẳng. Nhưng có thể hợp nhất-tham gia hai loại dữ liệu riêng biệt miễn là chúng tương thích về mặt logic. Ví dụ:smallint-versus-Số nguyêntỷ lệ kèo bóng đá trực tuyến hôm nay tử bình đẳng có thể hợp nhất. Chúng tôi chỉ cần các tỷ lệ kèo bóng đá trực tuyến hôm nay tử sắp xếp sẽ đưa cả hai loại dữ liệu vào một chuỗi tương thích về mặt logic.

Để được đánh dấuHợp nhất, tỷ lệ kèo bóng đá trực tuyến hôm nay tử tham gia phải xuất hiện với tư cách là thành viên bình đẳng của A32049_32056Gia đình vận hành chỉ mục. Điều này không được thực thi khi bạn tạo nhà điều hành, vì tất nhiên gia đình điều hành tham chiếu chưa thể tồn tại. Nhưng nhà điều hành sẽ không thực sự được sử dụng để kết hợp kết hợp trừ khi có thể tìm thấy gia đình vận hành phù hợp. TheHợp nhấtcờ do đó hoạt động như một gợi ý cho người lập kế hoạch rằng nó đáng để tìm kiếm một gia đình vận hành phù hợp.

Một tỷ lệ kèo bóng đá trực tuyến hôm nay tử có thể hợp nhất phải có một người giao dịch (chính nó nếu hai loại dữ liệu tỷ lệ kèo bóng đá trực tuyến hôm nay hạng giống nhau hoặc một tỷ lệ kèo bóng đá trực tuyến hôm nay tử bình đẳng liên quan nếu chúng khác nhau) xuất hiện trong cùng một họ tỷ lệ kèo bóng đá trực tuyến hôm nay tử. Nếu đây không phải là trường hợp, các lỗi của kế hoạch có thể xảy ra khi người vận hành được sử dụng. Ngoài ra, đó là một ý kiến ​​hay (nhưng không được yêu cầu nghiêm ngặt) đối vớiBtreeHọ vận hành hỗ trợ nhiều loại dữ liệu để cung cấp các tỷ lệ kèo bóng đá trực tuyến hôm nay tử bình đẳng cho mọi kết hợp của các loại dữ liệu; Điều này cho phép tối ưu hóa tốt hơn.

Ltỷ lệ kèo bóng đá trực tuyến hôm nay ý

Hàm cơ bản Một tỷ lệ kèo bóng đá trực tuyến hôm nay tử có thể hợp nhất phải được đánh dấu bất biến hoặc ổn định. Nếu nó không ổn định, hệ thống sẽ không bao giờ cố gắng sử dụng tỷ lệ kèo bóng đá trực tuyến hôm nay tử để nối hợp nhất.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không phù hợp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.