Phiên bản không được hỗ trợ:7.0 / 6.5 / 6.4
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 cách đọc kèo bóng đá trang chohiện tạiPhiên bản hoặc cách đọc kèo bóng đá trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

Tạo cách đọc kèo bóng đá tử

tên

Tạo cách đọc kèo bóng đá tử - Xác định cách đọc kèo bóng đá tử người dùng mới
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]
    )

Đầu vào

tên

cách đọc kèo bóng đá tử sẽ được xác định. Xem bên dưới để được cho phép ký tự.

func_name

Hàm được sử dụng để triển khai cách đọc kèo bóng đá tử này.

Type1

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ử.

type2

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ử.

com_op

Trình làm việc cho cách đọc kèo bóng đá tử này.

neg_op

Công cụ phủ định của cách đọc kèo bóng đá tử này.

res_proc

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ử.

tham gia_proc

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ử.

băm

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ử.

Right_sort_op

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ử.

đầu ra

cách đọc kèo bóng đá

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 đá.

Mô tả

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" :: box
Có 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" :: box
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.

ghi chú

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.

sử dụng

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ương thích

Tạo cách đọc kèo bóng đá tử làPostgresPhần mở rộng.

SQL92

Không có câu lệnh cách đọc kèo bóng đá tử tạo trongSQL92.