Postgresql plv8的缺点还是局限性?
我正在使用PLV8为PostgreSQL编写触发器和存储过程。到目前为止,我还没有看到与PLPGSQL相比的缺点。特别是如果使用JSON,它看起来比PLPGSQL更智能。如果使用PLV8,是否存在已知的缺点或限制?PLV8能否完全替代PLPGSQL?如果有人能分享他的经验,那就太好了。PLV8的优点和缺点与PLPerl、PLPython和其他PL语言的优点和缺点相同Postgresql plv8的缺点还是局限性?,postgresql,plpgsql,plv8,Postgresql,Plpgsql,Plv8,我正在使用PLV8为PostgreSQL编写触发器和存储过程。到目前为止,我还没有看到与PLPGSQL相比的缺点。特别是如果使用JSON,它看起来比PLPGSQL更智能。如果使用PLV8,是否存在已知的缺点或限制?PLV8能否完全替代PLPGSQL?如果有人能分享他的经验,那就太好了。PLV8的优点和缺点与PLPerl、PLPython和其他PL语言的优点和缺点相同 它没有与PostgreSQL引擎集成-处理SQL语句的结果可能会更慢。PLpgSQL与PostgreSQL引擎完全集成 SQL未
- 它没有与PostgreSQL引擎集成-处理SQL语句的结果可能会更慢。PLpgSQL与PostgreSQL引擎完全集成
- SQL未集成到语言中-无法对嵌入式SQL进行静态分析。可以使用PLpgSQL-请参阅PLpgSQL\u检查
- 可以更好地进行昂贵的数学计算,使用字符串和数组的操作通常比PLpgSQL更快
- 可以使用为语言开发的库-Perl-CPAN
- JavaScript、Perl和Python都是通用语言,因此任何通用任务都可以在那里很好地实现
- PLpgSQL是一种成熟的语言,专为在关系数据库环境中处理数据而设计。几乎所有开发人员需要的数据都在那里。迭代的结果是,从数据库中获取数据需要更少的可读代码
稍微晚了一点,但是您不能杀死当前运行plv8脚本的查询,唯一的方法是重新启动整个postgresql服务器。这是一个巨大的缺点,我们的团队正在考虑迁移到PLpgPython。我能看到的唯一(非常小的)缺点是:您需要为创建的每个数据库安装它。默认情况下,PL/pgSQL始终可用。但是只有你才能决定它是否是一个完全的替代品:因为这完全取决于你对语言的要求。谢谢。我问这个问题是因为我想知道是否有一些问题我目前没有考虑。如果我今天决定在一个新项目中使用PLV8,并且在3个月后我必须了解它的局限性,那将是不好的。
plpgsql
以本机方式使用SQL数据类型,这是其他PL所没有的易用性优势。如果您计划使用复杂的数据类型,如hstore
或ltree
,则必须在plv8中处理它们的文本表示。但它支持数组、复合类型、集合等,。。。这已经很好了。哦,谢谢,这是一个可能的观点!上述分析是我不知道的一点,谢谢Pavel。关于性能。。同时,我阅读了一些文章,得到的印象是,在“正常”情况下(例如,典型的电子商务门户),性能差异非常小。但可以肯定的是,有一些特殊情况。所以,再次感谢你!性能—取决于—数据库大小、查询复杂性、返回结果集的大小。。。