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 / Devel
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
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 một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo bóng đá pháp bị

tên

kèo bóng đá pháp bị-kèo bóng đá pháp bị một tuyên bố để thực thi

Synopsis

kèo bóng đá pháp bịtên[(data_type[, ...])] nhưcâu kèo bóng đá pháp

Mô tả

kèo bóng đá pháp bịTạo một câu lệnh đã kèo bóng đá pháp bị. Một câu lệnh đã kèo bóng đá pháp bị là một đối tượng phía máy chủ có thể được sử dụng để tối ưu hóa hiệu suất. Khikèo bóng đá pháp bịCâu kèo bóng đá pháp được thực thi, câu kèo bóng đá pháp được chỉ định được phân tích phân tích, phân tích và viết lại. Khi mộtthực thilệnh sau đó được ban hành, câu lệnh đã kèo bóng đá pháp bị được lên kế hoạch và thực thi. Sự phân công lao động này tránh được công việc phân tích phân tích phân tích lặp đi lặp lại, đồng thời cho phép kế hoạch thực hiện phụ thuộc vào các giá trị tham số cụ thể được cung cấp.

Các câu lệnh được kèo bóng đá pháp bị có thể lấy các tham số: Các giá trị được thay thế vào câu lệnh khi nó được thực thi. Khi tạo câu lệnh đã kèo bóng đá pháp bị, hãy tham khảo các tham số theo vị trí, sử dụng$ 1, $ 2, v.v ... Một danh sách tương ứng các loại dữ liệu kèo bóng đá pháp số có thể được chỉ định tùy chọn. Khi loại dữ liệu của kèo bóng đá pháp số không được chỉ định hoặc được khai báo làkhông xác định, loại được suy ra từ ngữ cảnh trong đó tham số được sử dụng lần đầu tiên (nếu có thể). Khi thực hiện câu kèo bóng đá pháp, chỉ định các giá trị thực cho các tham số này trongthực thiTuyên bố. kèo bóng đá pháp khảothực thiĐể biết thêm thông tin về điều đó.

Các câu lệnh được kèo bóng đá pháp bị chỉ kéo dài trong thời gian của phiên cơ sở dữ liệu hiện tại. Khi phiên kết thúc, câu lệnh đã được kèo bóng đá pháp bị bị lãng quên, vì vậy nó phải được tái tạo trước khi được sử dụng lại. Điều này cũng có nghĩa là một câu lệnh được kèo bóng đá pháp bị duy nhất không thể được sử dụng bởi nhiều máy khách cơ sở dữ liệu đồng thời; Tuy nhiên, mỗi khách hàng có thể tạo tuyên bố đã kèo bóng đá pháp bị của riêng họ để sử dụng. Các câu lệnh được kèo bóng đá pháp bị có thể được làm sạch bằng tay bằng cách sử dụngDealLocatekèo bóng đá pháp.

Các câu lệnh được kèo bóng đá pháp bị có lợi thế hiệu suất lớn nhất khi một phiên được sử dụng để thực hiện một số lượng lớn các câu lệnh tương tự. Sự khác biệt về hiệu suất sẽ đặc biệt có ý nghĩa nếu các câu lệnh phức tạp để lập kế hoạch hoặc viết lại, ví dụ, nếu truy vấn liên quan đến sự tham gia của nhiều bảng hoặc yêu cầu áp dụng một số quy tắc. Nếu câu lệnh tương đối đơn giản để lập kế hoạch và viết lại nhưng tương đối tốn kém để thực hiện, lợi thế về hiệu suất của các câu lệnh được kèo bóng đá pháp bị sẽ ít được chú ý hơn.

kèo bóng đá pháp số

tên

Một tên tùy ý được đặt cho câu lệnh đã kèo bóng đá pháp bị cụ thể này. Nó phải là duy nhất trong một phiên duy nhất và sau đó được sử dụng để thực thi hoặc giải quyết một câu lệnh đã kèo bóng đá pháp bị trước đó.

data_type

Kiểu dữ liệu của một tham số cho câu lệnh đã kèo bóng đá pháp bị. Nếu loại dữ liệu của một tham số cụ thể không được xác định hoặc được chỉ định làkhông xác định, nó sẽ được suy ra từ ngữ cảnh trong đó tham số được sử dụng đầu tiên. Để chỉ các tham số trong câu lệnh đã kèo bóng đá pháp bị, hãy sử dụng$ 1, $ 2, v.v.

câu kèo bóng đá pháp

AnyChọn, Chèn, Cập nhật, XóahoặcGiá trịcâu kèo bóng đá pháp.

ghi chú

Nếu một câu lệnh được kèo bóng đá pháp bị được thực thi đủ lần, máy chủ cuối cùng có thể quyết định lưu và sử dụng lại một kế hoạch chung thay vì lập kế hoạch lại mỗi lần. Điều này sẽ xảy ra ngay lập tức nếu câu lệnh đã kèo bóng đá pháp bị không có tham số; Mặt khác, nó chỉ xảy ra nếu kế hoạch chung dường như không đắt hơn nhiều so với kế hoạch phụ thuộc vào các giá trị tham số cụ thể. Thông thường, một kế hoạch chung sẽ chỉ được chọn nếu hiệu suất của truy vấn được ước tính là không nhạy cảm với các giá trị tham số cụ thể được cung cấp.

Để kiểm tra kế hoạch truy vấnPostgreSQLđang sử dụng cho một câu lệnh đã kèo bóng đá pháp bị, sử dụngGiải thích. Nếu một kế hoạch chung đang được sử dụng, nó sẽ chứa các ký hiệu kèo bóng đá pháp số$n, trong khi gói tùy chỉnh sẽ có các giá trị kèo bóng đá pháp số thực hiện hiện tại được thay thế vào nó.

Để biết thêm thông tin về lập kế hoạch truy vấn và các số liệu thống kê được thu thập bởiPostgreSQLVới mục đích đó, xemPhân tíchTài liệu.

Mặc dù điểm chính của câu lệnh đã kèo bóng đá pháp bị là để tránh phân tích phân tích và lập kế hoạch phân tích lặp đi lặp lại của câu lệnh,PostgreSQLsẽ buộc phân tích lại và lập kế hoạch lại câu lệnh trước khi sử dụng nó bất cứ khi nào các đối tượng cơ sở dữ liệu được sử dụng trong câu lệnh đã trải qua các thay đổi xác định (DDL) kể từ khi sử dụng câu lệnh đã kèo bóng đá pháp bị trước đó. Ngoài ra, nếu giá trị củasearch_pathThay đổi từ sử dụng này sang cách tiếp theo, câu kèo bóng đá pháp sẽ được phân loại lại bằng cách sử dụng mớisearch_path. (Hành vi sau này là mới nhưPostgreSQL9.3.) Một ví dụ về một trường hợp mà sự tương đương ngữ nghĩa không hoàn hảo là nếu câu lệnh đề cập đến một bảng bằng một tên không đủ tiêu kèo bóng đá pháp, và sau đó một bảng mới cùng tên được tạo trong một lược đồ xuất hiện trước đó trongsearch_path, Không có phân chia lại tự động sẽ xảy ra do không có đối tượng nào được sử dụng trong câu kèo bóng đá pháp thay đổi. Tuy nhiên, nếu một số thay đổi khác buộc phải phân chia lại, bảng mới sẽ được tham chiếu trong các mục đích sử dụng tiếp theo.

Bạn có thể thấy tất cả các câu lệnh đã kèo bóng đá pháp bị có sẵn trong phiên bằng cách truy vấnkèo bóng đá c1: Tài liệu:Chế độ xem hệ thống.

ví dụ

Tạo một câu lệnh đã kèo bóng đá pháp bị cho mộtChènCâu kèo bóng đá pháp, sau đó thực hiện nó:

kèo bóng đá pháp bị fooplan (int, văn bản, bool, số) là
    Chèn vào các giá trị FOO ($ 1, $ 2, $ 3, $ 4);
Thực hiện fooplan (1, 'Thung lũng Hunter', 'T', 200.00);

Tạo câu lệnh đã kèo bóng đá pháp bị cho AChọnCâu kèo bóng đá pháp, sau đó thực hiện nó:

kèo bóng đá pháp bị usrrptplan (int)
    Chọn * Từ người dùng u, nhật ký l trong đó u.usrid = $ 1 và u.usrid = l.usrid
    Và l.date = $ 2;
Thực hiện usrrptplan (1, current_date);

Lưu ý rằng kiểu dữ liệu của kèo bóng đá pháp số thứ hai không được chỉ định, do đó nó được suy ra từ ngữ cảnh trong đó$ 2được sử dụng.

Tương thích

Tiêu kèo bóng đá pháp SQL bao gồm Akèo bóng đá pháp bịCâu kèo bóng đá pháp, nhưng nó chỉ được sử dụng trong SQL nhúng. Phiên bản này củakèo bóng đá pháp bịCâu kèo bóng đá pháp cũng sử dụng cú pháp hơi khác.