天天看点

用第三方语言编写PostgreSQL 存储函数

在PostgreSQL里,所有的存储函数需求都可以用PLPGSQL来实现。同时也支持用第三方语言来编写,这个就得看自己哪个方面熟练了。

不过要注意的一点是 PLPGSQL的效率怎么着都比其他第三方语言来的高效。

比如,简单的插入表的存储函数:

现在来插入100W条记录,花费时间大概为27秒。

我们改用python 来实现

在编写python 脚本前,确保系统已经载入了plpythonu扩展。

以下是函数体:

清空表t1.

同样插入100W条记录, 这时候,时间上的差别显而易见了,用python 写的程序效率比数据库内部的语言慢了3倍。

那可以修改以上python 程序,让其效率来的高效一些,接近系统一些。 我们改用insert ... values ..()...() 的方式。

下面是函数体:

继续插入100W条数据, 这时,插入时间和原始PLPGSQL的时间一致了。