什么是最成熟/最稳定的mysql node.js模块

Jer*_* B. 20 mysql node.js

我期待围绕mysql和node.js做一些工作,并找到了一些不同的模块,但我不能在稳定性/成熟度上获得良好的优势.我知道每个作者都非常努力地完成每一个作品,但是对于我们正在做的工作,我需要知道我有一个坚实的mysql基础.我发现看起来很不错的模块是:

  1. db-mysql这看起来非常活跃.
  2. node-mysql到目前为止,这是一个非常普遍的模块,它似乎处于维护阶段,看起来很稳固.
  3. node-mysql-native我喜欢这里完成的异步工作,但我不确定它的工作原理.
  4. node-mysql-libmysqlclient我不确定这个,但它似乎也是活跃的.

我没有太多与众不同的需求.我需要定期查询支持,额外功能会很好,我只需要一个良好的基础开始.关于这些模块的优点和缺点的任何输入都会很棒.如果还有另一个质量竞争者我没有找到我根本不反对考虑另一种选择.

And*_*rov 16

我是node-mysql-native驱动程序的作者,从我的观点来看,差异是

  1. 在node-mysql中没有准备好的语句支持
  2. 根据我的基准测试,node-mysql比node-mysql-native慢10-20%
  3. node-mysql有更广泛的采用,更多的测试和用户.如果您需要稳定性,请更好地使用它
  4. node-mysql-libmysqlclient在快速查询上快2到3倍.但是,如果您有很多慢查询并使用连接池,它可能比本机JS驱动程序更慢,因为libmysqlclient异步调用基于nodejs线程池而不是基于事件循环.

更新

截至2013年7月11日

  • (2).不再有效(mysql-native比node-mysql慢一点)
  • 这个替代 node-mysql,在一些基准测试上它快2-3倍,对准备好的语句,SSL和压缩有相同的API +支持.还实现了服务器端协议的简单子集 - 例如参见MySQL - > Postgres代理.
  • node-mariasql也是一个非常好的选择(如果可以使用二进制插件) - 快速,稳定,异步,预处理语句支持,压缩和SSL.


Geo*_*ell 7

我经历了类似的搜索,最终解决了node-mysql问题.我喜欢它的简单性,它是纯粹的js,并且它得到了很好的支持.我做的测试比一些混合模块(那些使用非js库)的测试要慢一些,但我做了一个小补丁,对我的案例有很大帮助:

https://github.com/geochap/node-mysql