Mô -đun này thực hiện kiểu dữ liệu와이즈 토토
để đại diện cho các 와이즈 토토 đa chiều.
Mô -đun này được coi làTrustedHồi, nghĩa là, nó có thể được cài đặt bởi những người không phải là người siêu giám sát cóTạo
Đặc quyền trên cơ sở dữ liệu hiện tại.
Bảng F.2Hiển thị các biểu diễn bên ngoài hợp lệ cho와이즈 토토
Loại.x
, y
, v.v. biểu thị số điểm nổi.
Bảng F.2. Biểu diễn bên ngoài 와이즈 토토
Cú pháp bên ngoài | nghĩa là |
---|---|
|
Một điểm một chiều (hoặc, khoảng không chiều dài một chiều) |
( |
giống như trên |
|
Một điểm trong không gian chiều n, được biểu thị bên trong dưới dạng 와이즈 토토 와이즈 토토 lượng không |
( |
Tương tự như trên |
( |
Khoảng một chiều bắt đầu từx và kết thúc tạiy hoặc ngược lại; thứ tự không quan trọng |
[( |
Tương tự như trên |
( |
Một 와이즈 토토 lập phương N-chiều được biểu thị bằng một cặp các góc đối diện theo đường chéo của nó |
[( |
giống như trên |
Không quan trọng là thứ tự các góc đối diện của 와이즈 토토 lập phương được nhập vào.와이즈 토토
Chức năng trao đổi giá trị nếu cần để tạo đồng nhấtdưới bên trái - trên bên phảiHồiĐại diện nội bộ. Khi các góc trùng khớp,와이즈 토토
Chỉ lưu trữ một góc cùng vớiHồilà điểmcờ để tránh lãng phí không gian.
Không gian trắng bị bỏ qua trên đầu vào, vì vậy[(
giống nhưx
), (y
)][(
.x
), (y
)]
Các giá trị được lưu trữ bên trong dưới dạng số điểm nổi 64 bit. Điều này có nghĩa là các số có hơn khoảng 16 chữ số quan trọng sẽ bị cắt.
Bảng F.3Hiển thị các toán tử chuyên dụng được cung cấp cho loại와이즈 토토
.
Bảng F.3. Toán tử 와이즈 토토
Nhà điều hành Mô tả |
---|
Làm các 와이즈 토토 chồng chéo? |
와이즈 토토 đầu tiên có chứa cái thứ hai không? |
là 와이즈 토토 đầu tiên chứa trong phần thứ hai? |
trích xuất |
trích xuất |
Tính toán khoảng cách Euclide giữa hai 와이즈 토토. |
Tính toán khoảng cách taxi (số liệu L-1) giữa hai 와이즈 토토. |
Tính toán khoảng cách Chebyshev (số liệu L-INF) giữa hai hình. |
Ngoài các toán tử trên, các toán tử so sánh thông thường được hiển thị trongBảng 9.1Có sẵn cho loại와이즈 토토
. Các toán tử này lần đầu tiên so sánh các tọa độ đầu tiên và nếu chúng bằng nhau, hãy so sánh các tọa độ thứ hai, v.v. Chúng tồn tại chủ yếu để hỗ trợ lớp toán tử chỉ mục B-cây cho와이즈 토토
, có thể hữu ích ví dụ nếu bạn muốn có một ràng buộc duy nhất trên A와이즈 토토
Cột. Nếu không, thứ tự này không được sử dụng nhiều.
The와이즈 토토
Mô -đun cũng cung cấp lớp toán tử chỉ mục GIST cho와이즈 토토
Giá trị. MỘT와이즈 토토
Chỉ số GIST có thể được sử dụng để tìm kiếm các giá trị bằng cách sử dụng=
, &&
, @
và<@
toán tử trongWHERE
mệnh đề.
Ngoài ra, A와이즈 토토
Chỉ số GIST có thể được sử dụng để tìm các hàng xóm gần nhất bằng cách sử dụng các toán tử số liệu<-
, <#
và<=
inĐặt hàng bởi
mệnh đề. Ví dụ, người hàng xóm gần nhất của điểm 3-D (0,5, 0,5, 0,5) có thể được tìm thấy hiệu quả với:
21621_21698
The~
Toán tử cũng có thể được sử dụng theo cách này để truy xuất hiệu quả một vài giá trị đầu tiên được sắp xếp theo tọa độ đã chọn. Ví dụ: để có được một vài hình 와이즈 토토 đầu tiên được đặt hàng bởi tọa độ đầu tiên (góc dưới bên trái) tăng dần, người ta có thể sử dụng truy vấn sau:
Chọn C từ thứ tự kiểm tra bằng C ~ 1 Giới hạn 5;
Và để nhận các 와이즈 토토 2 chiều được đặt hàng theo tọa độ đầu tiên của góc trên bên phải giảm dần:
Chọn C từ thứ tự kiểm tra theo C ~ 3 Desc Giới hạn 5;
Bảng F.4Hiển thị các chức năng có sẵn.
Bảng F.4. Chức năng 와이즈 토토
chức năng Mô tả Ví dụ (s) |
---|
Làm cho một 와이즈 토토 một chiều với cả hai tọa độ giống nhau.
|
Làm cho một 와이즈 토토 một chiều.
|
Tạo 와이즈 토토 와이즈 토토 lượng không bằng cách sử dụng các tọa độ được xác định bởi mảng.
|
Làm cho một 와이즈 토토 lập phương có tọa độ phía trên bên phải và dưới bên trái theo định nghĩa của hai mảng, phải có cùng độ dài.
|
Tạo một 와이즈 토토 lập phương mới bằng cách thêm một chiều vào một 와이즈 토토 lập phương, với cùng các giá trị cho cả hai điểm cuối của tọa độ mới. Điều này rất hữu ích để xây dựng các 와이즈 토토 từng mảnh từ các giá trị được tính toán.
|
Làm cho một 와이즈 토토 lập phương mới bằng cách thêm một chiều vào một 와이즈 토토 lập phương hiện có. Điều này rất hữu ích để xây dựng các 와이즈 토토 từng mảnh từ các giá trị được tính toán.
|
Trả về số lượng kích thước của 와이즈 토토.
|
Trả về
|
Trả về
|
Trả về đúng nếu 와이즈 토토 lập phương là một điểm, nghĩa là, hai góc xác định là như nhau.
|
Trả về khoảng cách giữa hai 와이즈 토토. Nếu cả hai 와이즈 토토 là điểm, đây là hàm khoảng cách bình thường.
|
Tạo một 와이즈 토토 mới từ một 와이즈 토토 lập phương hiện có, sử dụng danh sách các chỉ mục kích thước từ một mảng. Có thể được sử dụng để trích xuất các điểm cuối của một chiều hoặc để giảm kích thước hoặc để sắp xếp lại chúng như mong muốn.
|
Sản xuất sự kết hợp của hai 와이즈 토토.
|
Sản xuất giao điểm của hai 와이즈 토토.
|
Tăng kích thước của 와이즈 토토 bằng bán kính được chỉ định
|
Liên minh này:
chọn 와이즈 토토 cube_union ('(0,5,2), (2,3,1)', '0'); Cube_Union ------------------- (0, 0, 0), (2, 5, 2) (1 hàng)
Không mâu thuẫn với lẽ thường, giao điểm cũng không:
chọn 와이즈 토토 cube_inter ('(0, -1), (1,1)', '(-2), (2)'); cube_inter ------------- (0, 0), (1, 0) (1 hàng)
Trong tất cả các hoạt động nhị phân trên các hình 와이즈 토토 khác nhau, một chiều thấp hơn được coi là một hình chiếu của Cartesian, i. e., có số 0 thay cho tọa độ bị bỏ qua trong biểu diễn chuỗi. Các ví dụ trên tương đương với:
cube_union ('(0,5,2), (2,3,1)', '(0,0,0), (0,0,0)'); cube_inter ('(0, -1), (1,1)', '(-2,0), (2,0)');
Vị ngữ ngăn chặn sau sử dụng cú pháp điểm, trong khi thực tế đối số thứ hai được biểu diễn bên trong một hộp. Cú pháp này làm cho nó không cần thiết phải xác định một loại điểm và hàm riêng riêng cho (hộp, điểm).
Chọn 와이즈 토토 cube_contains ('(0,0), (1,1)', '0,5,0,5'); Cube_contains -------------- t (1 hàng)
Để biết ví dụ về việc sử dụng, hãy xem bài kiểm tra hồi quySQL/cube.sql
.
Để làm cho mọi người khó phá vỡ mọi thứ hơn, có giới hạn 100 về số lượng kích thước của 와이즈 토토. Cái này được đặt trongcubedata.h
Nếu bạn cần một cái gì đó lớn hơn.
Tác giả gốc: Gene Selkov, Jr.<selkovjr@mcs.anl.gov
, Bộ phận toán học và khoa học máy tính, Phòng thí nghiệm quốc gia Argonne.
Lời cảm ơn của tôi chủ yếu dành cho Giáo sư Joe Hellerstein (https: //dsf.berkeley.edu/jmh/) để làm sáng tỏ ý chính của ý chính (http: //gist.cs.berkeley.edu/), và cho học sinh cũ Andy Dong của mình cho ví dụ được viết cho Illustra. Tôi cũng biết ơn tất cả các nhà phát triển Postgres, hiện tại và quá khứ, vì đã cho phép bản thân tạo ra thế giới của riêng tôi và sống không bị xáo trộn trong đó. Và tôi muốn thừa nhận lòng biết ơn của mình đến Argonne Lab và Bộ Năng lượng Hoa Kỳ cho những năm hỗ trợ trung thành với nghiên cứu cơ sở dữ liệu của tôi.
Cập nhật nhỏ cho gói này được thực hiện bởi Bruno Wolff III<bruno@wolff.to
Vào tháng 8/tháng 9 năm 2002. Chúng bao gồm thay đổi độ chính xác từ độ chính xác đơn thành độ chính xác gấp đôi và thêm một số hàm mới.
Cập nhật bổ sung được thực hiện bởi Joshua Reich<josh@root.net
Vào tháng 7 năm 2006. Chúng bao gồm와이즈 토토 (float8 [], float8 [])
và làm sạch mã để sử dụng giao thức cuộc gọi V1 thay vì giao thức V0 không dùng nữa.
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 khớ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.