Postgresql Tài cách đọc kèo bóng đá 8.0.26 | ||||
---|---|---|---|---|
Prev | Backward nhanh | Chuyển tiếp nhanh | Tiếp theo |
PL/PGSQLlà một tải cách đọc kèo bóng đá choPostgreSQLHệ thống cơ sở dữ cách đọc kèo bóng đá. Các mục tiêu thiết kế củaPL/PGSQLđã tạo ra một cách đọc kèo bóng đá có thể tải được
có thể được sử dụng để tạo các chức năng và kích hoạt thủ cách đọc kèo bóng đá,
Thêm cấu trúc điều khiển vàocách đọc kèo bóng đácách đọc kèo bóng đá ngữ,
Có thể thực hiện các tính toán phức tạp,
16412_16478
có thể được xác định để được máy chủ tin cậy,
rất dễ sử dụng.
Ngoại trừ các chức năng chuyển đổi và đầu ra đầu vào/đầu ra Đối với các loại do người dùng xác định, bất cứ điều gì có thể được xác định trong c Các chức năng cách đọc kèo bóng đá ngữ cũng có thể được thực hiện vớiPL/PGSQL. Ví dụ, có thể Tạo các chức năng tính toán có điều kiện phức tạp và sử dụng sau này chúng để xác định các toán tử hoặc sử dụng chúng trong các biểu thức chỉ mục.
ThePL/PGSQLngười xử lý gọi Phân tích văn bản nguồn của chức năng và tạo ra một nội bộ cây hướng dẫn nhị phân lần đầu tiên hàm được gọi (trong mỗi phiên). Cây hướng dẫn dịch hoàn toàn ThePL/PGSQLTuyên bố cấu trúc, nhưng cá nhâncách đọc kèo bóng đáBiểu thức vàcách đọc kèo bóng đáCác lệnh được sử dụng trong hàm không được dịch ngay lập tức.
như mỗi biểu thức vàcách đọc kèo bóng đáLệnh được sử dụng đầu tiên trong chức năng,
ThePL/PGSQLThông dịch viên
Tạo một kế hoạch thực thi đã chuẩn bị (sử dụngSPINgười quản lýspi_prepare
vàspi_saveplan
chức năng).Các lượt truy cập tiếp theo đến biểu thức đó hoặc
lệnh tái sử dụng kế hoạch đã chuẩn bị. Do đó, một chức năng với
mã có điều kiện chứa nhiều câu lệnh
Các kế hoạch thực thi có thể được yêu cầu sẽ chỉ chuẩn bị và tiết kiệm
những kế hoạch thực sự được sử dụng trong suốt cuộc đời của
Kết nối cơ sở dữ cách đọc kèo bóng đá. Điều này có thể giảm đáng kể tổng số
Lượng thời gian cần thiết để phân tích và tạo các kế hoạch thực thi
cho các câu trong mộtPL/PGSQLHàm. Một bất lợi là
Các lỗi trong một biểu thức hoặc lệnh cụ thể có thể không được phát hiện
Cho đến khi phần đó của chức năng đạt được khi thực hiện.
một lầnPL/PGSQLđã thực hiện một kế hoạch thực thi cho một lệnh cụ thể trong một hàm, nó sẽ Tái sử dụng kế hoạch đó cho cuộc sống của kết nối cơ sở dữ cách đọc kèo bóng đá. Cái này thường là một chiến thắng cho hiệu suất, nhưng nó có thể gây ra một số Vấn đề nếu bạn tự động thay đổi lược đồ cơ sở dữ cách đọc kèo bóng đá của bạn. Vì ví dụ:
Tạo hàm Fopulation () trả về số nguyên dưới dạng $$ TUYÊN BỐ - Tuyên bố BẮT ĐẦU Thực hiện my_function (); KẾT THÚC; $$ cách đọc kèo bóng đá ngữ plpgsql;
Nếu bạn thực thi chức năng trên, nó sẽ tham khảo OID
vìmy_function ()
Trong
Kế hoạch thực thi được sản xuất chobiểu diễnTuyên bố. Sau này, nếu bạn thả và
tái tạomy_function ()
, sau đóFopulation ()
sẽ không thể
tìm thấymy_function ()
nữa. Bạn
sau đó sẽ phải tái tạođông dân ()
hoặc ít nhất là bắt đầu một cơ sở dữ cách đọc kèo bóng đá mới
Phiên để nó sẽ được biên dịch lại. Một cách khác để
Tránh vấn đề này là sử dụngTạo hoặc
Thay thế chức năngKhi cập nhật định nghĩa củamy_function
(Khi hàm là"Thay thế", OID của nó không phải là
đã thay đổi).
vìPL/PGSQLLưu Các kế hoạch thực thi theo cách này, các lệnh cách đọc kèo bóng đá xuất hiện trực tiếp trong aPL/PGSQLHàm phải Tham khảo cùng một bảng và cột trên mỗi lần thực thi; cái đó là, bạn không thể sử dụng một tham số làm tên của bảng hoặc cột trong một lệnh cách đọc kèo bóng đá. Để vượt qua hạn chế này, bạn có thể Xây dựng các lệnh động bằng cách sử dụngPL/PGSQL thực thiTuyên bố - với giá xây dựng kế hoạch thực hiện mới Trên mỗi lần thực thi.
Lưu ý:ThePL/PGSQL thực thiCâu lệnh không liên quan đếnthực thicách đọc kèo bóng đá câu lệnh được hỗ trợ bởiPostgreSQLMáy chủ. Máy chủthực thiTuyên bố không thể được sử dụng ở trongPL/PGSQLchức năng (và không cần thiết).
cách đọc kèo bóng đálà cách đọc kèo bóng đá ngữPostgreSQLvà hầu hết khác Cơ sở dữ liệu quan hệ sử dụng làm cách đọc kèo bóng đá ngữ truy vấn. Nó có thể di động và dễ học. Nhưng mọicách đọc kèo bóng đáCâu lệnh phải được thực thi riêng lẻ bởi máy chủ cơ sở dữ cách đọc kèo bóng đá.
21866_22244
vớiPL/PGSQLBạn có thể Nhóm một khối tính toán và một loạt các truy vấnBên trongCơ sở dữ liệu máy chủ, do đó có sức mạnh của một ngôn ngữ thủ tục và dễ sử dụng cách đọc kèo bóng đá, nhưng tiết kiệm nhiều thời gian vì bạn Không có toàn bộ chi phí giao tiếp máy khách/máy chủ. Điều này có thể làm cho một sự gia tăng hiệu suất đáng kể.
Ngoài ra, vớiPL/PGSQLBạn có thể sử dụng tất cả các loại dữ liệu, toán tử và các chức năng của cách đọc kèo bóng đá.
Các chức năng được viết bằngPL/PGSQLcó thể chấp nhận làm đối số bất kỳ Kiểu dữ cách đọc kèo bóng đá vô hướng hoặc mảng được máy chủ hỗ trợ và chúng có thể trả về kết quả của bất kỳ loại nào trong số này. Họ cũng có thể chấp nhận hoặc trả về bất kỳ loại tổng hợp (loại hàng) được chỉ định bởi tên. Nó cũng có thể khai báo mộtPL/PGSQLchức năng trở lạiRecord23484_23626Phần 7.2.1.4.
PL/PGSQLCác chức năng có thể Cũng được tuyên bố chấp nhận và trả lại các loại đa hìnhAnyEuityvàAnyArray. Các loại dữ cách đọc kèo bóng đá thực tế được xử lý bởi một Chức năng đa hình có thể thay đổi từ cuộc gọi đến cuộc gọi, như đã thảo luận TRONGPhần 31.2.5. Một ví dụ được hiển thị trongPhần 35.4.1.
PL/PGSQLCác chức năng có thể Cũng được tuyên bố trả lại"SET"hoặc bảng, của bất kỳ loại dữ cách đọc kèo bóng đá nào họ có thể Trả về một thể hiện duy nhất của. Một chức năng như vậy tạo ra nó đầu ra bằng cách thực thiReturn Nextcho từng phần tử mong muốn của tập kết quả.
Cuối cùng, APL/PGSQLHàm có thể được tuyên bố trả lạivoidNếu nó không có giá trị trả về hữu ích.
PL/PGSQL24854_25159PL/PGSQL25205_25250