Tạo cách đọc kèo bóng đá tửtên5817_5843func_name[, leftarg =Type1] [, Rightarg =TYPE2] [, Commutator =com_op] [, Người phủ định =neg_op] [, Hạn chế =res_proc] [, Tham gia =tham gia_proc] [, Băm] [, Sort1 =] [, Sort2 =Right_sort_op] )
cách đọc kèo bóng đá tử sẽ được xác định. Xem bên dưới để được cho phép ký tự.
Hàm được sử dụng để triển khai cách đọc kèo bóng đá tử này.
Loại cho phía bên trái của cách đọc kèo bóng đá tử, nếu có. Tùy chọn này sẽ bị bỏ qua cho một quyền tựa bên phải cách đọc kèo bóng đá tử.
Loại cho phía bên phải của người vận hành, nếu bất kì. Tùy chọn này sẽ bị bỏ qua cho một nhà tư tưởng bên trái cách đọc kèo bóng đá tử.
Trình làm việc cho cách đọc kèo bóng đá tử này.
Công cụ phủ định của cách đọc kèo bóng đá tử này.
Chức năng ước tính chọn lọc hạn chế cho điều này cách đọc kèo bóng đá tử.
Chức năng ước tính chọn lọc tham gia cho điều này cách đọc kèo bóng đá tử.
Cho biết cách đọc kèo bóng đá tử này có thể hỗ trợ một băm tham gia Thuật cách đọc kèo bóng đá.
Nhà điều hành sắp xếp loại dữ liệu bên trái của điều này cách đọc kèo bóng đá tử.
Nhà điều hành sắp xếp loại dữ liệu bên phải của điều này cách đọc kèo bóng đá tử.
Tin nhắn được trả về nếu người vận hành thành công cách đọc kèo bóng đá.
Tạo cách đọc kèo bóng đá tửXác định cách đọc kèo bóng đá tử mới,tên. Người dùng xác định người vận hành trở thành chủ sở hữu của nó.
người vận hànhtênlà a trình tự tối đa ba mươi hai (32) ký tự trong bất kỳ sự kết hợp nào Từ những điều sau:
+-*/< = ~! @#%^& | `? $:
Lưu ý:Không được phép ký tự chữ cái trong cách đọc kèo bóng đá Tên nhà điều hành. Điều này cho phépPostgresĐể phân tích đầu vào SQL vào mã thông báo mà không yêu cầu khoảng trống giữa mỗi mã thông báo.
cách đọc kèo bóng đá tử "! =" Được ánh xạ tới "<" trên đầu vào, vì vậy chúng do đó tương đương.
9517_9747
Ngoài ra,func_nameThủ tục Phải được xác định trước đây bằng cách đọc kèo bóng đá sử dụngcách đọc kèo bóng đá CHỨC NĂNGvà phải được xác định để chấp nhận số lượng chính xác của đối số (cách đọc kèo bóng đá hoặc hai).
Nhà điều hành cổ góp phải được xác định nếu có tồn tại, vì vậy cái đóPostgresCó thể đảo ngược thứ tự của các cách đọc kèo bóng đá hạng nếu nó muốn. Ví dụ: nhà điều hành khu vực không có Nhà điều hành, khu vực-lớn hơn, . Do đó, truy vấn Trình tối ưu hóa có thể tự do chuyển đổi:
"0,0,1,1" :: Box myboxes.descripđến
myboxes.description <<< "0,0,1,1" :: box
Điều này cho phép mã thực thi luôn sử dụng cái sau Biểu diễn và đơn giản hóa Trình tối ưu hóa truy vấn phần nào.
Tương tự, nếu có cách đọc kèo bóng đá tử tiêu cực thì nó nên được xác định. Giả sử rằng một nhà điều hành, bình đẳng khu vực, ===, tồn tại, như cũng như một khu vực không bằng nhau,! ==. Liên kết tiêu cực cho phép truy vấn Trình tối ưu hóa để đơn giản hóa
không phải myboxes.descrip === "0,0,1,1" :: boxđến
myboxes.descrip! == "0,0,1,1" :: box
11068_11113PostgresTìm kiếm nó trong danh mục. Nếu như nó được tìm thấy và nó chưa có cách đọc kèo bóng đá người làm việc, sau đó Mục nhập của người giao cung được cập nhật để có được nhà điều hành làm nhân viên của nó. Điều này áp dụng cho người phủ định, như Tốt.
Đây là cho phép định nghĩa của hai cách đọc kèo bóng đá tử là Người giao cổ hoặc những người tiêu cực của nhau. Nhà điều hành đầu tiên nên được xác định mà không có người giao cổ hoặc tiêu cực (như phù hợp). Khi cách đọc kèo bóng đá tử thứ hai được xác định, hãy đặt tên đầu tiên Là người giao dịch hoặc tiêu cực. Đầu tiên sẽ được cập nhật như một bên tác dụng. (Kể từ Postgres 6.5, nó cũng hoạt động để có cả hai người vận hành tham khảo nhau.)
Ba thông số kỹ thuật tiếp theo có mặt để hỗ trợ truy vấn Trình tối ưu hóa trong việc thực hiện tham gia.Postgres11963_12149PostgresCó thể sử dụng thuật cách đọc kèo bóng đá băm tham gia dọc theo các dòng của [SHAP86]; Tuy nhiên, nó phải biết liệu chiến lược này có được áp dụng hay không. Các Thuật cách đọc kèo bóng đá băm nhỏ hiện tại chỉ chính xác cho các cách đọc kèo bóng đá tử đại diện cho các bài kiểm tra bình đẳng; Hơn nữa, sự bình đẳng của kiểu dữ liệu phải có nghĩa là bình đẳng bitwise của biểu diễn của loại. (Ví dụ: một kiểu dữ liệu chứa các bit chưa sử dụng không vật chất đối với các bài kiểm tra bình đẳng không thể được băm.) Các băm cờ chỉ cho trình tối ưu hóa truy vấn rằng một hàm băm có thể một cách an toàn được sử dụng với cách đọc kèo bóng đá tử này.
Tương tự, hai cách đọc kèo bóng đá tử sắp xếp cho biết truy vấn Trình tối ưu hóa cho dù Merge-Sort là một chiến lược tham gia có thể sử dụng và Các nhà khai thác nên được sử dụng để sắp xếp hai lớp cách đọc kèo bóng đá hạng. Loại Các nhà khai thác chỉ nên được cung cấp cho một cách đọc kèo bóng đá tử bình đẳng và Họ nên tham khảo các nhà khai thác ít hơn cho bên trái và bên phải Kiểu dữ liệu bên tương ứng.
Nếu các chiến lược tham gia khác được tìm thấy là thực tế,PostgresSẽ thay đổi Trình tối ưu hóa và hệ thống thời gian chạy để sử dụng chúng và sẽ yêu cầu Thông số kỹ thuật bổ sung khi một cách đọc kèo bóng đá tử được xác định. May mắn thay, cộng đồng nghiên cứu phát minh ra các chiến lược tham gia mới không thường xuyên và tính tổng quát của người dùng được xác định Các chiến lược không được cảm nhận là xứng đáng với sự phức tạp liên quan.
13539_13672
myboxes.descrip <<< "0,0,1,1" :: boxCó mặt trong trình độ, sau đóPostgresCó thể phải ước tính tỷ lệ của Các trường hợp trong các hộp đựng thỏa mãn mệnh đề. Hàmres_procphải là cách đọc kèo bóng đá chức năng (có nghĩa là nó đã được xác định bằng cách sử dụngcách đọc kèo bóng đá chức năng) chấp nhận các đối số của Các loại dữ liệu chính xác và trả về cách đọc kèo bóng đá số điểm nổi. Truy vấn Trình tối ưu hóa chỉ cần gọi chức năng này, chuyển tham số "0,0,1,1" và nhân kết quả với kích thước quan hệ để có được Số lượng các trường hợp mong muốn.
Tương tự, khi các cách đọc kèo bóng đá tử của cách đọc kèo bóng đá tử, cả hai đều chứa Các biến thể hiện, trình tối ưu hóa truy vấn phải ước tính kích thước của kết quả tham gia. Chức năng tham gia_proc sẽ trả về một Số điểm nổi sẽ được nhân với Hồng y của hai lớp liên quan để tính cách đọc kèo bóng đá mong muốn Kích thước kết quả dự kiến.
Sự khác biệt giữa hàm
my_procedure_1 (myboxes.descrip, "0,0,1,1" :: box)và người vận hành
myboxes.descrip === "0,0,1,1" :: boxlàPostgrescố gắng Tối ưu hóa các cách đọc kèo bóng đá tử và có thể quyết định sử dụng một chỉ mục để hạn chế Không gian tìm kiếm khi các nhà khai thác tham gia. Tuy nhiên, không có cố gắng tối ưu hóa các chức năng và chúng được thực hiện bởi vũ phu lực lượng. Hơn nữa, các chức năng có thể có bất kỳ số lượng đối số nào trong khi người vận hành bị giới hạn ở một hoặc hai.
Tham khảo chương về cách đọc kèo bóng đá tử trong15422_15447Để biết thêm thông tin. Tham khảoDrop cách đọc kèo bóng đá tửđến Xóa các cách đọc kèo bóng đá tử do người dùng xác định khỏi cơ sở dữ liệu.
Lệnh sau đây xác định một cách đọc kèo bóng đá tử mới, bình đẳng khu vực, Đối với kiểu dữ liệu hộp.
Tạo cách đọc kèo bóng đá tử === ( Leftarg = hộp, Rightarg = hộp, Quy trình = Area_equal_Procedure, Cổ lưu = ===, Người phủ định =! ==, Hạn chế = Area_Restriction_Procedure, Tham gia = area_join_procedure, Làm băm, Sort1 = <<<, Sắp xếp2 = <<< );
Tạo cách đọc kèo bóng đá tử làPostgresPhần mở rộng.
Không có câu lệnh cách đọc kèo bóng đá tử tạo trongSQL92.