Let's see this example

conn.query('SET @v = 1;', (err) => {

conn.query('SELECT @v;', (err, res) => {

// res contains @v = 1 or 2 ?

});

});

conn.query('SET @v = 2;', (err) => {

conn.query('SELECT @v;', (err, res) => {

// res contains @v = 1 or 2 ?

});

});

Does mysql/mysql2 node packages guarantee MySQL queries order or not?

解决方案

Yes, both mysql and mysql2 preserve the order. In following example order of execution is indicated by number

conn.query('query 1', (err) => {

conn.query('query 3', (err, res) => {

});

});

conn.query('query 2', (err) => {

conn.query('query 4', (err, res) => {

});

});

First, "query 1" and "query 2" are placed to command queue. Then after "query 1" is complete "query 3" is added to queue ( now it's "query 2, query 3" ). After "query 2" is complete it's callback function is called and as a result "query 4" is added to queue.

This is more of a protocol property, not just driver's feature. Mysql protocol only allows you to send next command only after current command if fully complete, and is in a way "half duplex". The only way to actually run two sql queries in parallel is to open 2 separate connections.

mysql事件循环执行,Node.js MySQL连接,查询顺序和事件循环相关推荐

  1. node.js+mysql实现分库分表存查数据:

    node.js+mysql实现分库分表: 1.分库分表使用场景: 互联网项目中常用到的关系型数据库,如MySQL,随着用户和业务的增长,传统的单库单表模式难以满足大量的业务数据存储以及查询,单库单表中 ...

  2. vue+node.js+mysql项目搭建

    前言 用vue搭建前端页面.用node开发后端接口.数据库用mysql 可行性分析 缺点: nodejs单线程,不能做cpu密集型操作,导致时间片不能释放,阻塞后面的任务. nodejs可靠性比较低, ...

  3. 【前端Vue+后端Node.js+MySql】部署到服务器

    [前端Vue+后端Node.js+MySql]部署到服务器 文章目录 [前端Vue+后端Node.js+MySql]部署到服务器 1.买服务器 2.服务器操作 2.1.修改服务器密码,xshell登录 ...

  4. 个人服务器搭建(轻便型) vue.js + node.js + mysql + centOs7

    个人服务器搭建(轻便型) vue.js + node.js + mysql + centOs7 此笔记有望帮助到他人也自己可回顾学习(如有误望指正) 完成以下四点即可开启web服务 一.创建 vue. ...

  5. node mysql商城开发_NideShop:基于Node.js+MySQL开发的微信小程序商城开源啦

    NideShop:基于Node.js+MySQL开发的微信小程序商城开源啦 发布时间:2020-04-14 04:23:37 来源:51CTO 阅读:2894 作者:ch10mmt 高仿网易严选的微信 ...

  6. node.js+MySql数据库+HTML实现内部查重系统

    node.js+MySql数据库+HTML实现内部查重系统 实现目标: 1.将每个人的项目登记,存入MySql数据库 2.在填写时进行实时正则判断,判断每项输入格式是否正确,方便之后进行查重对比 3. ...

  7. Node.js+MySQL开发的B2C商城系统源码+数据库(微信小程序端+服务端),界面高仿网易严选商城

    下载地址:Node.js+MySQL开发的B2C商城系统源码+数据库(微信小程序端+服务端) NideShop商城(微信小程序端) 界面高仿网易严选商城(主要是2016年wap版) 测试数据采集自网易 ...

  8. web socket+node.js+mysql实现网页在线对战棋牌游戏(超级适合情侣玩)

    自己web socket+node.js+mysql写了一款网页在线对战游戏,这个游戏是小时候家乡里流传甚广的一款游戏.玩法独特,趣味性强,老少皆宜.以前玩的时候是在地上花格子,然后用石头当棋子,两个 ...

  9. 连接查询,结构、循环语句

    连接查询,结构.循环语句 1 连接查询:通过连接运算符可以实现多个表查询. 1.1 join on select name,mark from student join mark on student ...

最新文章

  1. AI一分钟|腾讯与三星结盟,以对抗苹果和谷歌;亚马逊回应“AI误将国会议员标记为罪犯”...
  2. shell 开机自动执行_windows还能这么玩?开机自动念情书
  3. 东芝打印机cd40故障_东芝小尺寸UV平板机介绍
  4. jQuery三级下拉菜单
  5. Spring in Action 4 读书笔记之使用标签创建 AOP
  6. 使用ASP生成HTML文件
  7. xilinx c语言编程,使用Xilinx SDSoc在Xilinx zcu102开发板上编程HelloWorld
  8. 三菱q系列plc连接电脑步骤_三菱Q系列PLC与三菱变频器的CC-link通讯技术(我的学习笔记)...
  9. 【剑指offer】_07 矩形覆盖
  10. 测试nignx php请求并发数,nginx 优化(突破十万并发)
  11. mysql limit 后子查询_mysql 关于limit 子查询和获取某当天所有记录
  12. 不就是SELECT COUNT语句吗,竟然能被面试官虐的体无完肤
  13. arp协议的主要功能是_【思唯网络学院】ARP理论知识详解(一)
  14. 装饰者模式的应用:react高阶组件和ES6 装饰器
  15. 黑苹果之微星(MSI)主板BIOS详细设置篇
  16. 群联MPALL v3.23.00量产工具(可刷PS2251-50固件)
  17. acm 程序设计大赛各种输入方式(python版)
  18. 杰出人士的七种共性之5-独木求林
  19. COCO数据集之gt_overlaps之分析
  20. 外显子名词解释_转录调控相关名词解释(一)——转录组

热门文章

  1. java 绘制长方形_Java入门:绘制简单图形
  2. math python 向上取整_Python成为专业人士笔记-各数学运算操作深度剖析
  3. Linux系统常用函数,浅谈linux下的一些常用函数的总结(必看篇)
  4. cuda矩阵相乘_cuda初学(1):稀疏矩阵向量乘法(单精度)
  5. 图像对齐(image alignment)
  6. 操作系统--内核级线程实现
  7. select ... into ... 与 insert into .... select .... 语句
  8. C++学习之路 | PTA乙级—— 1023 组个最小数 (20分)(精简)
  9. java怎么自动提示关键词_Eclipse 实现关键字自动补全功能 (转)
  10. html5 canvas裁剪图片,html5-canvas 使用画布裁剪图像