Query On节点超时(mysql2)

时间:2019-10-02 12:49:20

标签: mysql node.js express

也许你可以帮助我。

我有一个使用express的节点应用程序,它正在查询mysql数据库。 我正在使用mysql2进行连接。

这是一个带有一些参数(两个日期)的查询,尽管它在数据库上运行0秒,但在节点上却超时。

以下是查询代码:

controleTemp.prototype.getFreeVeichles = function(dataInicio,dataFim,callback){
    var queryTxt=

    'select distinct ID,Modelo,Fabricante,'+
    'Placa,Ano,Motor,control.Status,Disponivel,Quilometragem,Atribuido from '+
    'controletemp as control '+
    'JOIN booking as book '+
    'ON control.id = book.veiculoID '+
    'Where veiculoID not in( '+
    'select veiculoid from ' +
    'controletemp as ct '+
    'JOIN booking as bk '+
    'ON ct.id = bk.veiculoID '+
    'Where \''+dataInicio+'\' between '+
    'dataInicio and dataFim OR \''+dataFim+'\' between '+
    'dataInicio and dataFim)';


    this._dbConnection.query(queryTxt);

提前谢谢大家

1 个答案:

答案 0 :(得分:0)

您错过了传递给过滤器的列名和值。 这是一个经过优化的查询,您应该相信我的逻辑:

'SELECT DISTINCT ' +
'    ID,Modelo,Fabricante,' +
'    Placa,Ano,Motor,control.Status,Disponivel,Quilometragem,Atribuido ' +
'FROM controletemp as control ' +
'JOIN booking as book ' +
'    ON control.id = book.veiculoID ' +
'WHERE (dataInicio < \'' + dataInicio +'\' OR dataInicio >  \'' + dataFim +'\')' +
' AND (dataFim <  \'' + dataInicio +'\' OR dataFim > \'' + dataFim +'\');'