PostgreSQL执行PL/Python代码时Python解释器的运行模式及性能疑问
PL/Python 解释器运行模式与性能疑问
解释器运行方式
PL/Python 的 Python 解释器并非独立进程,而是作为共享库直接链接到 PostgreSQL 的数据库进程(postgres 进程)中。执行 PL/Python 存储过程时,Python 代码直接在当前数据库进程的上下文里运行,完全不需要跨进程通信。
plpy.execute(...) 的性能情况
正因为解释器和数据库进程同属一个进程空间,调用 plpy.execute(...) 时,SQL 查询的结果是直接在进程内部传递的,不会产生文件或管道传输这类高开销操作。PostgreSQL 内部会直接将查询结果的数据结构交付给 Python 解释器,所以你担心的跨进程通信开销问题根本不存在。
内容的提问来源于stack exchange,提问作者Adam Van Oijen
相关产品推荐
相关产品推荐

