mysql - 使用 NodeJS、MySQL 测量查询执行时间

标签 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();

最佳答案

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

关于mysql - 使用 NodeJS、MySQL 测量查询执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46514805/

相关文章:

mysql - --query 下 $CONDITIONS 的用途是什么?

node.js - Mongodb:将键:值插入对象

javascript - Strongloop自定义脚本不退出

javascript - 将应用程序表达为 http.createServer 的参数

MySQL:我应该为逗号分隔值的字符串使用什么数据类型?

sql - 有没有一种干净的方法来清理 MySQL 中的重复条目?

mysql - 创建或更新存档用户的记录

mysql - 在 myisam 表上,为什么我的 Select 非常慢,但很少见

node.js - 将 Node.js 配置为记录到文件而不是控制台

node.js - Firebase本地使用配置变量不起作用-: Missing Plaid “Secret” 错误