PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Để hiểu các truy vấn trong PHP trạng thái chuẩn bị trước PG

Ví dụ đã đăng của bạn không có ý nghĩa - pg_prepare()pg_query_params() là các chức năng độc lập với các mục đích khác nhau mà bạn thường không sử dụng cùng lúc.

pg_prepare() chuẩn bị một câu lệnh (một truy vấn) để thực thi sau này qua pg_execute() . Điều này được thực hiện như một sự tối ưu hóa tiềm năng - nếu bạn biết trước rằng bạn sẽ cần thực hiện câu lệnh nhiều lần liên tiếp, việc chuẩn bị trước nó có thể tiết kiệm một số công việc trên máy chủ cơ sở dữ liệu, vì nó không phải (lại) chuẩn bị câu lệnh cho mỗi cuộc gọi.

pg_query_params() (cũng như phiên bản 'đơn giản hơn' của nó pg_query() ) chỉ thực hiện câu lệnh (truy vấn) trực tiếp, buộc máy chủ cơ sở dữ liệu phải (lại) chuẩn bị câu lệnh mỗi khi hàm được gọi.

Tóm lại, điều này

$result = pg_query_params($query, $params);

sẽ cung cấp cho bạn kết quả chính xác như sau

$statement = pg_prepare($query);
$result = pg_execute($statement, $params);

Sự khác biệt duy nhất là trong trường hợp thứ hai, bạn vẫn có câu lệnh đã chuẩn bị sẵn, sẵn sàng sử dụng lại cho các lệnh gọi khác đến pg_execute() - đó là lý do tại sao bạn có thể đặt tên cho nó, vì bằng cách đó, bạn có thể có các câu lệnh được chuẩn bị sẵn khác nhau trên cùng một kết nối mà bạn có thể thực thi theo ý muốn, nhiều lần, theo thứ tự tùy ý.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rails - SQLite3 ::SQLException:near USING:lỗi cú pháp

  2. Postgres:Làm thế nào để chuyển đổi một chuỗi json thành văn bản?

  3. Thứ tự kết quả của các mô hình lồng nhau được tải sẵn trong Node Sequelize

  4. Làm thế nào để thiết kế một lược đồ cơ sở dữ liệu để lưu trữ văn bản bằng nhiều ngôn ngữ?

  5. Cách tìm đường dẫn pg_config