虽迟但到!MySQL 可以用 JavaScript 写存储过程了!
任何能用 JavaScript 来干的事情,最终都会用 JavaScript 来干
背景
不久前,Oracle 在 MySQL 官方博客官宣了在 MySQL 中支持用 JavaScript 来写存储过程。
最流行的编程语言 + 最流行的数据库。程序员不做选择,当然是全都要。
使用方法
用 JavaScript 写存储过程的示例
在 SQL 中调用
Debug 依然是 print + throw 大法
Oracle 通过自家的 GraalVM 来保证在 MySQL 中执行 JavaScript 的安全性和性能。
业界评论
虽然这个功能还在预览阶段,并且只在 MySQL 企业版以及 HeatWave 云服务上提供,但还是引起了巨大反响。Reddit 网友金句频出
又一大波 JS 框架即将到来
任何能用 JavaScript 来干的事情,最终都会用 JavaScript 来干 - Jeff Atwood (Stack Overflow 联合创始人)
对呀,干嘛不直接叫 jQuery 呢?
另一边 Hacker News 网友也不甘示弱。
「太酷辣,我在 Snowflake 里都是用 JavaScript 写存储过程来生成视图。缺点是把不同语言揉在一起,会让代码变得不可读。但优点是我的饭碗稳了,因为分析师们无法同时理解 SQL 和 JavaScript,而必须依赖我去帮他们更新。」
结束语
- MySQL 在数据库圈的话题性很强,但碰上 JavaScript,发现梗完全不够用呀。
- 这次官宣的第一作者,之前也曾在阿里云数据库团队工作过 3 年。
- PostgreSQL 依然「遥遥领先」,毕竟通过 PLV8 写 JavaScript 都不知道是多久以前的事情了。
💡 更多资讯,请关注 Bytebase 公号:Bytebase

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java内存模型(JMM)是基于多线程的吗
Java内存模型(JMM)是基于多线程的吗 这个问题按我的思路转换了下,其实就是在问:为什么需要Java内存模型 总结起来可以由几个角度来看待「可见性」、「有序性」和「原子性」 面试官:今天想跟你聊聊Java内存模型,这块你了解过吗? 候选者:嗯,我简单说下我的理解吧。那我就从为什么要有Java内存模型开始讲起吧 面试官:开始你的表演吧。 候选者:那我先说下背景吧 候选者:1. 现有计算机往往是多核的,每个核心下会有高速缓存。高速缓存的诞生是由于「CPU与内存(主存)的速度存在差异」,L1和L2缓存一般是「每个核心独占」一份的。 候选者:2. 为了让CPU提高运算效率,处理器可能会对输入的代码进行「乱序执行」,也就是所谓的「指令重排序」 候选者:3. 一次对数值的修改操作往往是非原子性的(比如i++实际上在计算机执行时就会分成多个指令) 候选者:在永远单线程下,上面所讲的均不会存在什么问题,因为单线程意味着无并发。并且在单线程下,编译器/runtime/处理器都必须遵守as-if-serial语义,遵守as-if-serial意味着它们不会对「数据依赖关系的操作」做重排序。 候选者:C...
- 下一篇
Databend 开源周报第 127 期
Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 What's On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 了解 Databend 的访问控制 近期 Databend 的所有权机制已经覆盖 UDF 和 Stage ,我们也推出了关于访问控制模型的介绍文档。 Databend 结合了基于角色的访问控制 (RBAC) 和自主访问控制 (DAC) 模型来实现访问控制功能。当用户在 Databend 中访问数据对象时,必须被授予适当的权限或角色,或者需要拥有该数据对象的所有权。数据对象可以指各种元素,如数据库、表、视图、Stage 或 UDF。 图中展示了 Databend 中的角色继承和管理层级的建立。 如果您想了解更多信息,欢迎联系 Databend 团队,或查看下面列出的资源。 Docs | Access Control PR #14217 | feat(query): ownership cover stag...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启