使用NodeJS,MySQL测量查询执行时间

时间:2017-10-01 17:10:29

标签: mysql node.js

我正在尝试编写将测量查询执行时间的脚本。现在我有一个脚本,我将在问题的最后包括,但似乎她收集结果,在以前等添加结果所以我想问你,你可能现在我怎么能避免,我在哪里犯了错误?

var mysql = require('mysql');
var client = mysql.createConnection({
user: 'root',
password: '',
database: 'kong_centar'
//debug: true  
});

var ignore = [mysql.ERROR_DB_CREATE_EXISTS,
          mysql.ERROR_TABLE_EXISTS_ERROR];

client.on('error', function (err) {
if (ignore.indexOf(err.number) + 1) { return; }
throw err;
});
for(i=0; i<10; i++){
var pre_query = new Date().getTime();
client.query('select * from korisnik', function(err, result, fields){
    var post_query = new Date().getTime();
    var duration = (post_query - pre_query) / 1000;

    console.log(duration);

    if (err)
    {
        throw err;
    }
    else
    {

        //console.log(result);
        for (var i in result)
        {
            //var people = result[i];
            //console.log(people.firstname + ' ' + people.lastname);
        }
    }
});
}
client.end();

1 个答案:

答案 0 :(得分:0)

在循环中创建函数时,您遇到了一个众所周知的问题。实质上,所有函数都将指向同一个变量(pre_query)。请查看this question以获取问题描述和解决方案。