mysql通信协议的半双工机制理解
一、通信知识中的半双工概念
通信的方式分为:单工通信,半双工,全双工。
全双工的典型例子是:打电话。电话在接到声音的同时也会传递声音。在一个时刻,线路上允许两个方向上的数据传输。网卡也是双工模式。在接收数据(比如一直在下载东西)的同时,又发送
数据(比如请求网页)
半双工:在同一个时刻只能进行一个动作。在一个时刻,线路上只允许一个方向上的数据传输。
单工:典型例子就是电视遥控器。接收端和发送端已经固定了的。接收端只能接收数据。没有发送数据的功能。发送端只有发送的功能。没有接收的功能.特点是,线路上的数据流是永远是单
方向,固定方向。
这样理解的话,显示器与电脑主机之间的工作方式也是单工模式的。
问:是半双工还是双工,到底由什么决定的?是线路还是两个方向上的设备决定的?
双工的设备条件:这种方式要求通讯双方均有发送器和接收器,同时,需要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通信协议的半双工机制理解相关推荐
- 【MySQL进阶-05】深入理解mvcc机制(详解)
MySql系列整体栏目 内容 链接地址 [一]深入理解mysql索引本质 https://blog.csdn.net/zhenghuishengq/article/details/121027025 ...
- 利用mysql的预编译机制_SQL注入笔记记录+MySQL的事务隔离级别
(一)SQL注入. 1.如何理解SQL注入? SQL注入是一种将SQL代码添加到输入参数中,传递到SQL服务器解析并执行的一种攻击手法. 2.SQL注入是如何产生的? web开发人员无法保证所有的输入 ...
- Mysql事务以及加锁机制事务的特征ACID
Mysql事务以及加锁机制 事务的特征ACID,即原子性.一致性.隔离性.持久性. 原子性保证一个事务为一个最小的单元,内部不可分割: 一致性保证事务中的每个操作线程不可单独提交,成功则一起提交,不成 ...
- mysql innodb 的锁机制_Mysql之Innodb锁机制详解
InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION):二是采用了行级锁.关于事务我们之前有专题介绍,这里就着重介绍下它的锁机制. 总的来说,InnoDB按照不同的分类共有 ...
- 【MySQL进阶-06】深入理解mysql的内核查询成本计算
MySql系列整体栏目 内容 链接地址 [一]深入理解mysql索引本质 https://blog.csdn.net/zhenghuishengq/article/details/121027025 ...
- 【MySQL进阶-03】深入理解mysql的索引分类,覆盖索引,覆盖索引失效,回表,MRR
MySql系列整体栏目 内容 链接地址 [一]深入理解mysql索引本质 https://blog.csdn.net/zhenghuishengq/article/details/121027025 ...
- Mysql事务回滚机制与原理
Mysql事务回滚机制与原理 文章目录 Mysql事务回滚机制与原理 一.事务回滚机制 二.使用到的技术讨论 三.redo log和undo log介绍 3.1 redo log 3.2 undo l ...
- 【MySQL笔记】正确的理解MySQL的MVCC及实现原理
MVCC多版本并发控制 如果觉得对你有帮助,能否点个赞或关个注,以示鼓励笔者呢?!博客目录 | 先点这里 !首先声明,MySQL 的测试环境是 5.7 前提概要 什么是 MVCC 什么是当前读和快照读 ...
- 【数据库】MySQL中的锁机制
MySQL中的锁机制 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则. MySQL 数据库由于其自身架构的特点,存在多种数据存储引擎,每种 ...
最新文章
- 中医研究登上Nature
- PandaRSS 自助服务系统安装配置
- 关于python中程序流程结构-Python程序结构
- java中全局变量注解_自定义注解,前端获取token值的时候,全局变量返回后端用注解注入,以便以其他业务层使用...
- java 中文 编译_java编译带中文是显示乱码的错误
- 计算机的alu的作用,算术逻辑运算单元(ALU)的基本功能是什么 – 手机爱问
- [Java][内存模型]
- 山东女子学院计算机专业分数线,山东女子学院2020年山东省本科专业录取分数统计(含位次)...
- Mac上的免费数据库可视化工具:Sequel Pro
- 如何删除双系统中的Linux系统
- 量价交易——寻找妖股的底部结构
- 中国Android应用商店汇总
- nexus私服npm包踩坑记录
- 详解ZStack Cloud v4.0:自研VPC网络模型实践指南
- gsyVideoPlayer点击/拖动进度条播放视频会回退
- 【实用软件】Json文件查看器(支持查看超大JSON文件)
- 远端WWW服务支持TRACE请求
- Gram矩阵与卷积网络中的卷积的直观理解
- 基于Javaweb的小项目(类似于qqzone)1——设计数据库
- idea常用快捷键图文_如何在Word中的自动图文集词条中添加快捷键
热门文章
- 谷歌发布 XS-Leaks 漏洞知识库
- C语言函数如何返回字符串
- 【Tomcat】Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析
- 书籍:python图像处理 Image Operators - Image Processing in Python - 2019
- docker machine介绍和使用
- 企业网络营销意识的重要性
- 使用Controller.UpdateModel方法来更新ViewModel
- 线程属性pthread_attr_t简介-转
- 通用Makefile模板
- ajax成功后没有执行函数,ajax不执行回调函数