首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Node中的Mysql查询执行要比直接执行Mysql查询慢得多?

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

Stack Overflow用户
提问于 2014-04-25 02:09:51
回答 2查看 3.2K关注 0票数 6

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

此查询返回~25k行(总大小为500 in )。

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

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

这一巨大差异的原因是什么,以及如何改进Node.js实现,使其与直接Mysql查询保持一致?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-25 23:07:43

结果发现这是亚马逊的后台问题。我们使用的是弹性豆柄,EC2和RDS实例位于同一个区域,但不在相同的可用区域中。一旦我将它们设置为相同的,即us 1a,node.js中的查询大约需要200 us。

票数 2
EN

Stack Overflow用户

发布于 2014-04-25 18:14:44

你在用行流吗?

如果不是,not正在构建一个25k元素对象,其中包含与其相关的所有分配、迭代和赋值。而且它是在javascript (而不是优化得很好的原生代码)中完成的,因为节点-mysql是纯javascript。

行流将允许您每次收集计算所需的信息,就像在大多数其他环境中使用传统的基于游标的MySQL适配器一样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23283036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档