一、通信知识中的半双工概念

通信的方式分为:单工通信,半双工,全双工。

全双工的典型例子是:打电话。电话在接到声音的同时也会传递声音。在一个时刻,线路上允许两个方向上的数据传输。网卡也是双工模式。在接收数据(比如一直在下载东西)的同时,又发送

数据(比如请求网页)

半双工:在同一个时刻只能进行一个动作。在一个时刻,线路上只允许一个方向上的数据传输。

单工:典型例子就是电视遥控器。接收端和发送端已经固定了的。接收端只能接收数据。没有发送数据的功能。发送端只有发送的功能。没有接收的功能.特点是,线路上的数据流是永远是单

方向,固定方向。
这样理解的话,显示器与电脑主机之间的工作方式也是单工模式的。

问:是半双工还是双工,到底由什么决定的?是线路还是两个方向上的设备决定的?

双工的设备条件:这种方式要求通讯双方均有发送器和接收器,同时,需要2根数据线,传送数据信号。(可能还需要控制线和状态线,以及地线)。

看来,不仅仅是两端设备。还有线的方面,这根线有些不同。可以参照电话线,网线进行理解全双工的线。

半双工的两端的设备,也有接收器和发送器。不然怎么接收和发送数据。这怎么理解?
这样理解:半双工模式下,确实有接收器和发送器。这样两端都可以发送和接收数据。但不同的是:两个动作不能同时进行。要么是一端发数据,只有等到它发送完成后,你才能或发送或接收

半双工与全双工的区别就在于是否能够同时进行。两种方式所能进行的操作都是一样的。

现实中使用的以太网可以设置双工和半双工的模式下工作。

技术的趋势:随着技术的不断进步,半双工会逐渐退出历史舞台。

二、关于mysql客户端/服务器通信协议的半双工机制

1.不能截断和进行流程控制:我将球发过去了,能做就是等待结果。不能说,我觉得不妥,还需要中途截断,不发给对方。所以,已经发出去的东西,无法进行流程控制。你要做的就是发信

息和等待结果。其他的什么都不能做在等待结果的时候,你也不能说:我已经找到了需要的数据。服务器你停止发送剩下的数据吧。不管你是否需要,你只能等待服务器将所有数据包发送完

毕后丢掉不要的数据。或者,你就选择断掉连接。无法进行流程控制的。

所以,使用limit子句去控制服务器发送给客户端数据的量。这样可以提高性能。

这里limit对于性能的影响之处怎么理解?

如果没有limit进行限制的话,查询出所有的数据都会发送给客户端,比如我只需要10条。但是没有限制,假如取出了100条数据.就会发送到客户端100条数据。这其中其实有些是不需要的。
在这个过程中,客户端是无法说:我已经找到我需要的10条数据,剩下的90条数据服务器请不要再发送了。由于是半双工的通信机制,那么你要做的只能等待服务器发送的100条数据全部发送

完毕,你才能进行操作。所以没有limit进行限制后,是不是增加了客户端的等待时间。对性能有影响。

根据这种半双工的机制,一般这样做:客户端需要多少条数据,我就在服务器操作的时候使用limit进行限制只取出多少条,那么只会发送需要的条数给客户端。

转载于:https://www.cnblogs.com/wangtao_20/archive/2011/04/12/2014194.html

mysql通信协议的半双工机制理解相关推荐

  1. 【MySQL进阶-05】深入理解mvcc机制(详解)

    MySql系列整体栏目 内容 链接地址 [一]深入理解mysql索引本质 https://blog.csdn.net/zhenghuishengq/article/details/121027025 ...

  2. 利用mysql的预编译机制_SQL注入笔记记录+MySQL的事务隔离级别

    (一)SQL注入. 1.如何理解SQL注入? SQL注入是一种将SQL代码添加到输入参数中,传递到SQL服务器解析并执行的一种攻击手法. 2.SQL注入是如何产生的? web开发人员无法保证所有的输入 ...

  3. Mysql事务以及加锁机制事务的特征ACID

    Mysql事务以及加锁机制 事务的特征ACID,即原子性.一致性.隔离性.持久性. 原子性保证一个事务为一个最小的单元,内部不可分割: 一致性保证事务中的每个操作线程不可单独提交,成功则一起提交,不成 ...

  4. mysql innodb 的锁机制_Mysql之Innodb锁机制详解

    InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION):二是采用了行级锁.关于事务我们之前有专题介绍,这里就着重介绍下它的锁机制. 总的来说,InnoDB按照不同的分类共有 ...

  5. 【MySQL进阶-06】深入理解mysql的内核查询成本计算

    MySql系列整体栏目 内容 链接地址 [一]深入理解mysql索引本质 https://blog.csdn.net/zhenghuishengq/article/details/121027025 ...

  6. 【MySQL进阶-03】深入理解mysql的索引分类,覆盖索引,覆盖索引失效,回表,MRR

    MySql系列整体栏目 内容 链接地址 [一]深入理解mysql索引本质 https://blog.csdn.net/zhenghuishengq/article/details/121027025 ...

  7. Mysql事务回滚机制与原理

    Mysql事务回滚机制与原理 文章目录 Mysql事务回滚机制与原理 一.事务回滚机制 二.使用到的技术讨论 三.redo log和undo log介绍 3.1 redo log 3.2 undo l ...

  8. 【MySQL笔记】正确的理解MySQL的MVCC及实现原理

    MVCC多版本并发控制 如果觉得对你有帮助,能否点个赞或关个注,以示鼓励笔者呢?!博客目录 | 先点这里 !首先声明,MySQL 的测试环境是 5.7 前提概要 什么是 MVCC 什么是当前读和快照读 ...

  9. 【数据库】MySQL中的锁机制

    MySQL中的锁机制 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则. MySQL 数据库由于其自身架构的特点,存在多种数据存储引擎,每种 ...

最新文章

  1. 中医研究登上Nature
  2. PandaRSS 自助服务系统安装配置
  3. 关于python中程序流程结构-Python程序结构
  4. java中全局变量注解_自定义注解,前端获取token值的时候,全局变量返回后端用注解注入,以便以其他业务层使用...
  5. java 中文 编译_java编译带中文是显示乱码的错误
  6. 计算机的alu的作用,算术逻辑运算单元(ALU)的基本功能是什么 – 手机爱问
  7. [Java][内存模型]
  8. 山东女子学院计算机专业分数线,山东女子学院2020年山东省本科专业录取分数统计(含位次)...
  9. Mac上的免费数据库可视化工具:Sequel Pro
  10. 如何删除双系统中的Linux系统
  11. 量价交易——寻找妖股的底部结构
  12. 中国Android应用商店汇总
  13. nexus私服npm包踩坑记录
  14. 详解ZStack Cloud v4.0:自研VPC网络模型实践指南
  15. gsyVideoPlayer点击/拖动进度条播放视频会回退
  16. 【实用软件】Json文件查看器(支持查看超大JSON文件)
  17. 远端WWW服务支持TRACE请求
  18. Gram矩阵与卷积网络中的卷积的直观理解
  19. 基于Javaweb的小项目(类似于qqzone)1——设计数据库
  20. idea常用快捷键图文_如何在Word中的自动图文集词条中添加快捷键

热门文章

  1. 谷歌发布 XS-Leaks 漏洞知识库
  2. C语言函数如何返回字符串
  3. 【Tomcat】Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析
  4. 书籍:python图像处理 Image Operators - Image Processing in Python - 2019
  5. docker machine介绍和使用
  6. 企业网络营销意识的重要性
  7. 使用Controller.UpdateModel方法来更新ViewModel
  8. 线程属性pthread_attr_t简介-转
  9. 通用Makefile模板
  10. ajax成功后没有执行函数,ajax不执行回调函数