SELECT l.date, p.type
FROM (SELECT "2019-01-22T20:45:00" AS date UNION SELECT "2019-01-29T07:15:00" AS date) l
INNER JOIN pinfare_peak p
ON l.date BETWEEN p.start AND p.end;
TimeoutError: ResourceRequest timed out
at ResourceRequest._fireTimeout (/var/task/node_modules/generic-pool/lib/ResourceRequest.js:62:17)
at Timeout.bound (/var/task/node_modules/generic-pool/lib/ResourceRequest.js:8:15)
at ontimeout (timers.js:482:11)
at tryOnTimeout (timers.js:317:5)
at Timer.listOnTimeout (timers.js:277:5)
在RDS错误日志上,我确实看到了如下内容:
Aborted connection 10 to db: 'income' user: 'income' host: '10.0.13.26' (Got an error reading communication packets)
但我不确定他们是否有亲属关系
我的代码看起来像:
const sqlList = dates.map(date => {
return `SELECT "${date}" AS date`
}).join(' UNION ')
const sql = `
SELECT l.date, p.type
FROM (${sqlList}) l
INNER JOIN pinfare_peak p
ON l.date BETWEEN p.start AND p.end
`
console.log('Query', sql.replace('\s+', ' '), new Date())
let results
try {
results = await sequelize.query(sql, { type: sequelize.QueryTypes.SELECT })
} catch (err) {
console.log('FAIL TO QUERY DB', err.message)
throw err
}
数据库选择失败。当我在同一个数据库上使用MySQL workbench上生成的同一个select查询时,它工作得很好。实际上并不慢。为什么会导致节点超时?