为什么 Node JS 中的 Mysql 查询执行比直接的 Mysql 查询执行慢得多?

Jon*_*Liu 6 mysql performance database-performance node.js node-mysql

询问: select id, event_time from events where event_time > 1395797406712 and event_time < 1398389406712 order by event_time asc

此查询返回约 25k 行(总大小 500KB)。

当我使用驱动程序在 Node.js 中查询上述查询时node-mysql,执行大约需要 3-4 秒。(我使用console.time和console.timeEnd)

当我直接在 mySql 中查询它时,它说需要大约 200 毫秒。

是什么造成了这种巨大的差异,以及如何改进 Node.js 实现以与直接 Mysql 查询内联?

Jon*_*Liu 2

事实证明这是亚马逊后端的问题。我们使用 Elastic Beanstalk,EC2 和 RDS 实例位于同一区域,但不在同一可用区。一旦我将它们设置为相同,即 us-east-1a,node.js 中的查询大约需要 200 毫秒。