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

Hàm thực thi nhanh hơn mà không có công cụ sửa đổi NGHIÊM TÚC?

Có thể một chi phí từ lệnh gọi hàm lặp lại được sắp xếp hợp lý bằng cách nội dòng hàm?

Đó là những gì tôi đoán. Bạn có một biểu thức rất đơn giản ở đó. Một lời gọi hàm thực tế có lẽ bao gồm thiết lập ngăn xếp, chuyển các tham số, v.v.

Thử nghiệm dưới đây cho thời gian chạy là 5ms đối với nội tuyến và 50ms đối với nghiêm ngặt.

BEGIN;

CREATE SCHEMA f;

SET search_path = f;

CREATE FUNCTION f1(int) RETURNS int AS $$SELECT 1$$ LANGUAGE SQL;
CREATE FUNCTION f2(int) RETURNS int AS $$SELECT 1$$ LANGUAGE SQL STRICT;

\timing on
SELECT sum(f1(i)) FROM generate_series(1,10000) i;
SELECT sum(f2(i)) FROM generate_series(1,10000) i;
\timing off

ROLLBACK;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo sql với truy vấn con dưới dạng một cột trong câu lệnh chọn bằng cách sử dụng SQLAlchemy

  2. Django:quyền bị từ chối khi cố gắng truy cập cơ sở dữ liệu sau khi khôi phục (di chuyển)

  3. Tính Tổng tổng của một trường được chú thích trên một nhóm theo truy vấn trong Django ORM?

  4. Cột PostgreSQL không tồn tại nhưng nó thực sự có

  5. Postgres:làm cách nào để bạn làm tròn dấu thời gian lên hoặc xuống đến phút gần nhất?