# 简介
近期在调试阿里云函数计算的 NodeJS
运行环境, 于是就简单比较了一下 NodeJS
运行时常见的 MySQL
第三方库 mysql2 (opens new window) 和 sequelize (opens new window).
以下内容为个人观点, 且部分对比项具有时效性, 仅作参考.
# 对比
对比项 | mysql2 | sequelize |
---|---|---|
依赖库大小 | 461 Kb | 1.15 Mb |
相同业务的函数压缩包大小 | 600 Kb | 3.35 Mb |
开发方式 | 手写 SQL | 基于 ORM (opens new window) |
Promise (opens new window) 支持 | 支持 | 支持 |
WebStorm (opens new window) 静态检查 | 安装 Database Tools and SQL for WebStorm (opens new window) 插件并将 SQL 语句的上下文关联到指定数据源后, 即可检查 SQL 语句的语法正确性. | 使用 JavaScript 开发时, 无法自动推断 Model 的属性, 需要靠历史记录进行自动补全. 使用 TypeScript 开发时, 提供 少量手写的类型定义 (opens new window) 后即可获得属性推断和类型推断. |
上手难度 | 配置好必要的 host , user , password 和 database 即可 | 除了左边的配置项, 还需要定义各个 Model . 即便是操作已有的表的也是如此 (opens new window). |
# 总结
总的来说, 如果希望函数在运行时冷启动更快的话, 选 mysql2
, 如果希望开发过程中得到更强的静态检查的话, 用 sequelize
.
# 参考
# 推广
欢迎加入 Spring Cloud 交流群: 617143034 (opens new window)
欢迎大家点击下方的图片领取限量 阿里云优惠券 (opens new window), 新购续费更优惠: (opens new window)