本博客站点已全量迁移至 DevDengChao 的博客 https://blog.dengchao.fun , 后续的新内容将优先在自建博客站进行发布, 欢迎大家访问.
简介
近期在调试阿里云函数计算的 NodeJS 运行环境, 于是就比较了一下 NodeJS 运行时常见的 MySQL 驱动器 mysql2 和 sequelize.
对比
对比项 | mysql2 | sequelize |
---|---|---|
依赖库大小 | 461 Kb | 1.15 Mb |
相同业务的函数压缩包大小 | 600 Kb | 3.35 Mb |
开发方式 | 手写 SQL | 基于 ORM |
Promise 支持 | 支持 | 支持 |
WebStorm 静态检查 | 安装 Database Tools and SQL for WebStorm 插件并将 SQL 语句的上下文关联到指定数据源后, 即可检查 SQL 语句的语法正确性. | 使用 JavaScript 开发时, 无法自动推断 Model 的属性, 需要靠历史记录进行自动补全. 使用 TypeScript 开发时, 提供少量手写的类型定义后即可获得属性推断和类型推断. |
初始化难度 | 配置好必要的 host , user , password 和 database 即可 | 除了左边的配置项, 还需要定义各个 Model . 即便是操作已有的表的也是如此. |
总结
总的来说, 希望函数在运行时冷启动更快的话, 选 mysql2, 希望开发过程中得到更强的静态检查的话, 用 sequelize.
参考
推广
欢迎大家使用阿里云优惠券, 新购续费更优惠: