所以我读过以下帖子“
What the difference between mysql and mysql2 gem
到目前为止,我只使用了MongJDB和NodeJS,我希望能够为我的任何关系数据库需求学习MySQL。在研究MySQL& NodeJS我找到了MySQL2的存储库,它似乎与MySQL网站没什么关系,我假设已经创建了API,这使得使用NodeJS和amp;等语言进行开发更快。红宝石。从NodeJS的角度来看,我假设我仍在我的服务器上运行常规的MySQL数据库,但我需要使用这些新的API进行交互:
https://github.com/sidorares/node-mysql2/blob/master/README.md
我还看过一个他们做性能基准的网站和NodeJS& MySQL的性能非常低。和NodeJS& MySQL2非常高
此信息的来源: php-nodejs-mysql-and-mongo
这篇文章中的图片:
问题:我是否只是在我的服务器上使用常规MySQL数据库并使用这个mysql2 API,或者是否有与该API一起使用的不同MySQL实现?
我在大约10年内没有使用过MySQL。我只使用过Microsoft的SQL Server。所以我严重落后。我已经开始使用NodeJS并且认为我最好的关系数据库选项是MySQL,我还应该寻找其他什么东西吗?
答案 0 :(得分:16)
这只是普通人编写的2种不同的API。不同之处在于命令的语法和性能,只需安装两者,为您的目标进行自己的测试,并选择一个您认为更适合您的目标。
答案 1 :(得分:6)
摘自https://www.npmjs.com/package/mysql2
" MySQL2主要与mysqljs API兼容,并支持大多数功能。 MySQL2还提供了这些附加功能
仅前两个功能更好:更快更安全
答案 2 :(得分:2)
如果您在图中查看用于mysql和mysql2的源代码,那么他将同时使用mysql api。唯一的区别是标记为mysql的他每次都关闭连接。因此,最重要的是不要每次都关闭连接。 mysql2 api应该更快,但是我还没有看到任何数据。
有用于图形数据的“ mysql2”代码。请注意,api仍然是mysql,而不是mysql2:
var sys = require('sys'),
http = require('http'),
mysql = require('mysql')
client = null;
client = mysql.createClient({
user: 'root',
password: '',
});
client.query('USE mongo');
http.createServer(function(req, res) {
client.query(
'SELECT * FROM basic WHERE id = '+Math.floor(Math.random()*100000),
function selectCb(err, results, fields) {
if (err) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('Bad');
res.end();
throw err;
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('Gooood');
res.end();
}
);
}).listen(8080);
答案 3 :(得分:1)
我在项目中实现npm i mysql
依赖关系时遇到很多问题。
首先,如果您遵循 MVC 体系结构,则在服务器和客户端之间提取和mysql
数据时,send
变得很乏味。
npm i mysql2
简化了此过程,就像执行查询一样简单
用于mysql依赖
connection.query(sql,(err,res)=>{*some fn here*})
返回所有行,包括查询的成功结果。
而 mysql2依赖
connection.execute(sql)
仅返回查询结果,而不返回行的结果。