MySQL 支持 JavaScript,目前处于预览阶段
![](/theme/default/default/images/main/eye-open.png)
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
![](/theme/default/default/images/main/icon-jing.png)
MySQL数据库服务器新增JavaScript支持摘要
作者: Renato Losio
译者: 明知山
策划: 丁晓昀
Oracle最近宣布其MySQL数据库服务器将支持JavaScript函数和过程,并且这一功能目前正处于预览阶段,只提供给MySQL企业版以及MySQL Heatwave用户。通过这一变动,开发人员现在可以在数据库内部实现复杂的数据处理逻辑,从而减少数据库服务器与客户端之间的数据移动,降低延迟与网络负载,减少流量成本。
Øystein Grøvlen和Farhan Tauheed指出,加入对JavaScript的支持,不仅提高了开发人员的工作效率,还使得更多具备JavaScript技能的开发人员能够参与到存储程序的编写中。这意味着企业现在可以利用更广泛的JavaScript技能池进行后端开发,从而招揽更多的开发人才。
Oracle在其新特性应用场景中提出了数据提取、格式化、近似搜索、验证、压缩、编码和转换等方面的使用案例,并且社区对此反应积极。他们发布的公告中提供了一个JavaScript被直接嵌入到SQL定义中的示例函数。
对于传统的CALL语句调用函数时,会发生SQL类型和JavaScript类型之间的隐式类型转换。文档中提到,对JavaScript的支持是基于ECMAScript 2021标准,并支持所有整数、浮点数和CHAR/VARCHAR*类型变体。为了实现最佳的端到端性能,MySQL与JavaScript的集成使用了自定义的虚拟机和GraalVM的ahead-of-time编译技术,使语言能够被编译成本机的二进制表示,从而提升处理速度。GraalVM运行时包括JDK和多种语言实现,提供沙箱功能和工具支持的托管虚拟机。
MySQL-JavaScript集成目前可用于MySQL企业版和MySQL Heatwave云服务,但不支持MySQL社区版。值得一提的是,MySQL并非首个支持JavaScript存储过程的开源关系型数据库,PostgreSQL已经采用了流行的JavaScript语言扩展PLV8,支持包括存储过程和触发器在内的多种用途。
Oracle还在YouTube上发布了三个关于MySQL HeatWave的视频,展示了如何利用JavaScript存储程序运行Mustache库、验证Web表单输入和处理Web URL。这些视频为开发人员提供了直观的教程和示例,以便更好地理解和利用这一新特性。
声明:本文为InfoQ翻译,未经许可禁止转载。
想要了解更多内容?
![](/theme/default/default/images/main/icon-jing.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)