39.1.1 使用 PL/pgSQL的好处
SQL是 PostgreSQL和其他大多数关系型数据库作为查询语言而使用的语言。它可移植,并容易学习。但是SQL语句必须被数据库服务器逐条地执行。
这意味着你的客户应用必须向数据库发送每一条查询,等待它被处理,接收并处理结果,进行一些计算,然后再依次类推送出更多的查询。所有这些导致进程间通信,如果你的客户程序和数据库服务器位于不同的机器上,网络负载也会大量增加。
使用 PL/pgSQL, 你可以把一个计算块和一系列的数据库服务器内部的查询组合到一起,这样保持了过程语言的威力,也发挥了SQL容易使用的特点,并节省了客户端与服务器间的通信量。
- 客户端和服务器端的往复通讯被节省
-
客户端不需要的中间结果不必被整理或发送到客户端
-
多回合的查询分析可以被省略
和不使用存储函数的应用相比,带来了客观的性能提升。
并且,使用PL/pgSQL,你可以使用适用于SQL的所有的数据类型,操作符和函数。