Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql node.js-我是否正在敲打我的数据库?_Mysql_Node.js - Fatal编程技术网

Mysql node.js-我是否正在敲打我的数据库?

Mysql node.js-我是否正在敲打我的数据库?,mysql,node.js,Mysql,Node.js,我是node的新手,已经编写了一个在开发中运行的程序,但我担心它的生产性能 在下面的代码中,我使用我自己的mysqlAsync.queryach方法(如果您想让我分享,请告诉我)。它使用通用池、mysql和库 我使用了通用池来共享多达10个mysql连接 mysqlAsync.queryach方法使用文件中的async.forEach方法执行以下操作 将迭代器函数并行应用于数组中的每个项 因此,对QueryAch的第一个调用会向另一个QueryAch发出x个数量的调用。它可以同时发出1000个查

我是node的新手,已经编写了一个在开发中运行的程序,但我担心它的生产性能

在下面的代码中,我使用我自己的mysqlAsync.queryach方法(如果您想让我分享,请告诉我)。它使用通用池、mysql和库

我使用了通用池来共享多达10个mysql连接

mysqlAsync.queryach方法使用文件中的async.forEach方法执行以下操作

将迭代器函数并行应用于数组中的每个项

因此,对QueryAch的第一个调用会向另一个QueryAch发出x个数量的调用。它可以同时发出1000个查询

在我的特定用例中,这个过程用于构建一个redis缓存,它不经常发生,也不是在每个连接上

我想知道我是否应该在节点上同步处理查询

我应该限制我的提问吗

mysql可以同时处理多少查询

人们通常是通过异步方式来充分利用节点,还是需要限制某些资源

很抱歉,如果这个问题涉及面太广,我只是想弄清楚这个异步的东西应该走多远

mysql可以同时处理多少查询

32-64。这是一个实际的限制,在达到这个水平之前,你应该做很多优化。Mysql可以处理更多的数据,但性能将开始下降而不是提高

从id=?的练习中选择*?按id订购

这很奇怪。其中id=?凭身份证订购?你是认真的吗

我认为您应该加入表并立即从mysql获取所有数据,然后开始处理它。数据库很容易成为瓶颈,所以您应该尽可能优化它

我甚至不确定您是否需要在NodeJS中并行执行。尝试向数据库中添加数据(如预期的马赫数数据),并尝试运行查询和测量性能

mysql可以同时处理多少查询

32-64。这是一个实际的限制,在达到这个水平之前,你应该做很多优化。Mysql可以处理更多的数据,但性能将开始下降而不是提高

从id=?的练习中选择*?按id订购

这很奇怪。其中id=?凭身份证订购?你是认真的吗

我认为您应该加入表并立即从mysql获取所有数据,然后开始处理它。数据库很容易成为瓶颈,所以您应该尽可能优化它


我甚至不确定您是否需要在NodeJS中并行执行。尝试向数据库中添加数据(如您所期望的马赫数数据),并尝试运行您的查询和测量性能。

一辆车能容纳多少乘客?我来自哪里,2到6人,这取决于您对汽车的称呼。mysql每秒可以处理10到100000个请求,这取决于服务器,数据库大小和查询一辆车能容纳多少乘客?我来自哪里,2到6人之间,这取决于你对一辆车的称呼。mysql每秒可以处理10到100000个请求,这取决于服务器、数据库大小和查询节点mysql库是一个异步库。您有使用node的经验吗?它是非阻塞的,因此任何昂贵的资源都是异步的。我只是想知道我需要走多远,如果我需要开始节流。32-64听起来很低,真让我吃惊!有什么参考资料可以指给我看吗?另外,这个查询是一个输入错误。我没有使用node的经验。我说的是数据库性能。异步执行允许您减少客户机的延迟,但这对数据库来说并不重要。它仍然必须处理所有的查询大约32-64岁。mysqlperformanceblog.com上有很多基准测试。它们表明,数据库的吞吐量是有限的,通常在32个线程时耗尽。例如,当您说“我甚至不确定您是否需要在NodeJS中并行执行”。我想你应该多读一些关于Node的内容。我不认为32个线程是一回事。如果是这样的话,我的查询就不会运行自动取款机了。无论如何,谢谢你的建议。节点mysql库是一个异步库。您有使用node的经验吗?它是非阻塞的,因此任何昂贵的资源都是异步的。我只是想知道我需要走多远,如果我需要开始节流。32-64听起来很低,真让我吃惊!有什么参考资料可以指给我看吗?另外,这个查询是一个输入错误。我没有使用node的经验。我说的是数据库性能。异步执行允许您减少客户机的延迟,但这对数据库来说并不重要。它仍然必须处理所有的查询大约32-64岁。mysqlperformanceblog.com上有很多基准测试。它们表明,数据库的吞吐量是有限的,通常在32个线程时耗尽。例如,当您说“我甚至不确定您是否需要在NodeJS中并行执行”。我想你应该多读一些关于Node的内容。我不认为32个线程是一回事。如果是这样的话,我的查询就不会运行自动取款机了。无论如何,谢谢你的建议。
function doSomethingWithExercises(callback) {

    mysqlAsync.queryEach("SELECT * FROM subjects ORDER BY id", function(subject, done) {

             mysqlAsync.queryEach("SELECT * FROM exercises WHERE id = ? ORDER BY id",[subject.id] function(exercise, done) {

                  //do something with the exercises
             },

             //then...
             function() {

                 done()

             });        

    },

    //then...
    function() {
        //done
        callback()

    });
}