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

Đạt được các giao dịch hiệu suất cao khi mở rộng PostgreSQL với các hàm C

Có vẻ như bạn có thể muốn sử dụng giao diện lập trình máy chủ (SPI) để triển khai thủ tục được lưu trữ dưới dạng hàm ngôn ngữ C chạy bên trong back-end PostgreSQL.

Sử dụng SPI_connect để thiết lập SPI.

Bây giờ SPI_prepare_cursor một truy vấn, sau đó đến SPI_cursor_open nó. SPI_cursor_fetch các hàng từ nó và SPI_cursor_close nó khi hoàn thành. Lưu ý rằng SPI_cursor_fetch cho phép bạn tìm nạp hàng loạt hàng.

SPI_finish để dọn dẹp khi hoàn tất.

Bạn có thể trả về các hàng kết quả thành một bộ tuplestore khi tạo chúng, tránh phải tạo toàn bộ bảng trong bộ nhớ. Xem ví dụ trong bất kỳ hàm nào trong số các hàm set-return trong mã nguồn PostgreSQL. Bạn cũng có thể muốn xem SPI_returntuple chức năng trợ giúp.

Xem thêm: Các hàm ngôn ngữ C mở rộng SQL .

Nếu quan tâm đến tốc độ tối đa, khách hàng của bạn có thể muốn sử dụng giao thức nhị phân libpq qua libpqtypes để nó nhận dữ liệu được tạo ra bởi quy trình sử dụng SPI phía máy chủ của bạn với chi phí tối thiểu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trừ các tuần cho một ngày trong PostgreSQL

  2. Django OneToOneField với trường trống có thể có

  3. Tác động hiệu suất của LIKE trống trong một tuyên bố đã chuẩn bị

  4. UnknownHostException khi cố gắng kết nối với heroku-postgres từ dự án Springboot cục bộ với Spring JPA

  5. postgres tạo mảng bằng cách sử dụng cửa sổ slide